]>
Commit | Line | Data |
---|---|---|
a76f8c6d JB |
1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" | |
3 | "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []> | |
4 | ||
5 | <book id="Tracepoints"> | |
6 | <bookinfo> | |
7 | <title>The Linux Kernel Tracepoint API</title> | |
8 | ||
9 | <authorgroup> | |
10 | <author> | |
11 | <firstname>Jason</firstname> | |
12 | <surname>Baron</surname> | |
13 | <affiliation> | |
14 | <address> | |
15 | <email>[email protected]</email> | |
16 | </address> | |
17 | </affiliation> | |
18 | </author> | |
19 | </authorgroup> | |
20 | ||
21 | <legalnotice> | |
22 | <para> | |
23 | This documentation is free software; you can redistribute | |
24 | it and/or modify it under the terms of the GNU General Public | |
25 | License as published by the Free Software Foundation; either | |
26 | version 2 of the License, or (at your option) any later | |
27 | version. | |
28 | </para> | |
29 | ||
30 | <para> | |
31 | This program is distributed in the hope that it will be | |
32 | useful, but WITHOUT ANY WARRANTY; without even the implied | |
33 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | |
34 | See the GNU General Public License for more details. | |
35 | </para> | |
36 | ||
37 | <para> | |
38 | You should have received a copy of the GNU General Public | |
39 | License along with this program; if not, write to the Free | |
40 | Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, | |
41 | MA 02111-1307 USA | |
42 | </para> | |
43 | ||
44 | <para> | |
45 | For more details see the file COPYING in the source | |
46 | distribution of Linux. | |
47 | </para> | |
48 | </legalnotice> | |
49 | </bookinfo> | |
50 | ||
51 | <toc></toc> | |
52 | <chapter id="intro"> | |
53 | <title>Introduction</title> | |
54 | <para> | |
55 | Tracepoints are static probe points that are located in strategic points | |
56 | throughout the kernel. 'Probes' register/unregister with tracepoints | |
57 | via a callback mechanism. The 'probes' are strictly typed functions that | |
58 | are passed a unique set of parameters defined by each tracepoint. | |
59 | </para> | |
60 | ||
61 | <para> | |
62 | From this simple callback mechanism, 'probes' can be used to profile, debug, | |
63 | and understand kernel behavior. There are a number of tools that provide a | |
64 | framework for using 'probes'. These tools include Systemtap, ftrace, and | |
65 | LTTng. | |
66 | </para> | |
67 | ||
68 | <para> | |
69 | Tracepoints are defined in a number of header files via various macros. Thus, | |
70 | the purpose of this document is to provide a clear accounting of the available | |
71 | tracepoints. The intention is to understand not only what tracepoints are | |
72 | available but also to understand where future tracepoints might be added. | |
73 | </para> | |
74 | ||
75 | <para> | |
76 | The API presented has functions of the form: | |
77 | <function>trace_tracepointname(function parameters)</function>. These are the | |
78 | tracepoints callbacks that are found throughout the code. Registering and | |
79 | unregistering probes with these callback sites is covered in the | |
80 | <filename>Documentation/trace/*</filename> directory. | |
81 | </para> | |
82 | </chapter> | |
83 | ||
9ee1983c JB |
84 | <chapter id="irq"> |
85 | <title>IRQ</title> | |
86 | !Iinclude/trace/events/irq.h | |
87 | </chapter> | |
88 | ||
d1eb650f MH |
89 | <chapter id="signal"> |
90 | <title>SIGNAL</title> | |
91 | !Iinclude/trace/events/signal.h | |
92 | </chapter> | |
93 | ||
a76f8c6d | 94 | </book> |