Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 1 | <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" |
| 2 | "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" |
| 3 | [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] > |
| 4 | |
| 5 | <chapter id='profile-manual-arch'> |
| 6 | |
| 7 | <title>Overall Architecture of the Linux Tracing and Profiling Tools</title> |
| 8 | |
| 9 | <section id='architecture-of-the-tracing-and-profiling-tools'> |
| 10 | <title>Architecture of the Tracing and Profiling Tools</title> |
| 11 | |
| 12 | <para> |
| 13 | It may seem surprising to see a section covering an 'overall architecture' |
| 14 | for what seems to be a random collection of tracing tools that together |
| 15 | make up the Linux tracing and profiling space. |
| 16 | The fact is, however, that in recent years this seemingly disparate |
| 17 | set of tools has started to converge on a 'core' set of underlying |
| 18 | mechanisms: |
| 19 | </para> |
| 20 | |
| 21 | <para> |
| 22 | <itemizedlist> |
| 23 | <listitem>static tracepoints</listitem> |
| 24 | <listitem>dynamic tracepoints |
| 25 | <itemizedlist> |
| 26 | <listitem>kprobes</listitem> |
| 27 | <listitem>uprobes</listitem> |
| 28 | </itemizedlist> |
| 29 | </listitem> |
| 30 | <listitem>the perf_events subsystem</listitem> |
| 31 | <listitem>debugfs</listitem> |
| 32 | </itemizedlist> |
| 33 | </para> |
| 34 | |
| 35 | <informalexample> |
| 36 | <emphasis>Tying it Together:</emphasis> Rather than enumerating here how each tool makes use of |
| 37 | these common mechanisms, textboxes like this will make note of the |
| 38 | specific usages in each tool as they come up in the course |
| 39 | of the text. |
| 40 | </informalexample> |
| 41 | </section> |
| 42 | </chapter> |
| 43 | <!-- |
| 44 | vim: expandtab tw=80 ts=4 |
| 45 | --> |