blob: 8eb7bbfabd194d3843036a7f24a64a1c950d11b6 [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001<!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; ] >
Andrew Geisslerd25ed322020-06-27 00:28:28 -05004<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
Patrick Williamsc124f4f2015-09-15 14:41:29 -05005
6<chapter id='profile-manual-arch'>
7
8<title>Overall Architecture of the Linux Tracing and Profiling Tools</title>
9
10<section id='architecture-of-the-tracing-and-profiling-tools'>
11 <title>Architecture of the Tracing and Profiling Tools</title>
12
13 <para>
14 It may seem surprising to see a section covering an 'overall architecture'
15 for what seems to be a random collection of tracing tools that together
16 make up the Linux tracing and profiling space.
17 The fact is, however, that in recent years this seemingly disparate
18 set of tools has started to converge on a 'core' set of underlying
19 mechanisms:
20 </para>
21
22 <para>
23 <itemizedlist>
24 <listitem>static tracepoints</listitem>
25 <listitem>dynamic tracepoints
26 <itemizedlist>
27 <listitem>kprobes</listitem>
28 <listitem>uprobes</listitem>
29 </itemizedlist>
30 </listitem>
31 <listitem>the perf_events subsystem</listitem>
32 <listitem>debugfs</listitem>
33 </itemizedlist>
34 </para>
35
36 <informalexample>
37 <emphasis>Tying it Together:</emphasis> Rather than enumerating here how each tool makes use of
38 these common mechanisms, textboxes like this will make note of the
39 specific usages in each tool as they come up in the course
40 of the text.
41 </informalexample>
42</section>
43</chapter>
44<!--
45vim: expandtab tw=80 ts=4
46-->