blob: 9e1e400e42315a51a89a02539f80a4eea151d460 [file] [log] [blame]
Andrew Geissler4873add2020-11-02 18:44:49 -06001.. SPDX-License-Identifier: CC-BY-2.0-UK
Andrew Geisslerc9f78652020-09-18 14:11:35 -05002
3*************************************************************
4Overall Architecture of the Linux Tracing and Profiling Tools
5*************************************************************
6
7Architecture of the Tracing and Profiling Tools
8===============================================
9
10It may seem surprising to see a section covering an 'overall
11architecture' for what seems to be a random collection of tracing tools
12that together make up the Linux tracing and profiling space. The fact
13is, however, that in recent years this seemingly disparate set of tools
14has started to converge on a 'core' set of underlying mechanisms:
15
16- static tracepoints
17- dynamic tracepoints
18
19 - kprobes
20 - uprobes
21
22- the perf_events subsystem
23- debugfs
24
25.. admonition:: Tying it Together
26
27 Rather than enumerating here how each tool makes use of these common
28 mechanisms, textboxes like this will make note of the specific usages
29 in each tool as they come up in the course of the text.