| 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 | --> |