About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / DocBook / tracepoint.tmpl


Based on kernel version 4.9. Page generated on 2016-12-21 14:33 EST.

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>jbaron@redhat.com</email>
16	     </address>
17	    </affiliation>
18	   </author>
19	   <author>
20	    <firstname>William</firstname>
21	    <surname>Cohen</surname>
22	    <affiliation>
23	     <address>
24	      <email>wcohen@redhat.com</email>
25	     </address>
26	    </affiliation>
27	   </author>
28	  </authorgroup>
29	
30	  <legalnotice>
31	   <para>
32	     This documentation is free software; you can redistribute
33	     it and/or modify it under the terms of the GNU General Public
34	     License as published by the Free Software Foundation; either
35	     version 2 of the License, or (at your option) any later
36	     version.
37	   </para>
38	
39	   <para>
40	     This program is distributed in the hope that it will be
41	     useful, but WITHOUT ANY WARRANTY; without even the implied
42	     warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
43	     See the GNU General Public License for more details.
44	   </para>
45	
46	   <para>
47	     You should have received a copy of the GNU General Public
48	     License along with this program; if not, write to the Free
49	     Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
50	     MA 02111-1307 USA
51	   </para>
52	
53	   <para>
54	     For more details see the file COPYING in the source
55	     distribution of Linux.
56	   </para>
57	  </legalnotice>
58	 </bookinfo>
59	
60	 <toc></toc>
61	  <chapter id="intro">
62	   <title>Introduction</title>
63	   <para>
64	     Tracepoints are static probe points that are located in strategic points
65	     throughout the kernel. 'Probes' register/unregister with tracepoints
66	     via a callback mechanism. The 'probes' are strictly typed functions that
67	     are passed a unique set of parameters defined by each tracepoint.
68	   </para>
69	
70	   <para>
71	     From this simple callback mechanism, 'probes' can be used to profile, debug,
72	     and understand kernel behavior. There are a number of tools that provide a
73	     framework for using 'probes'. These tools include Systemtap, ftrace, and
74	     LTTng.
75	   </para>
76	
77	   <para>
78	     Tracepoints are defined in a number of header files via various macros. Thus,
79	     the purpose of this document is to provide a clear accounting of the available
80	     tracepoints. The intention is to understand not only what tracepoints are
81	     available but also to understand where future tracepoints might be added.
82	   </para>
83	
84	   <para>
85	     The API presented has functions of the form:
86	     <function>trace_tracepointname(function parameters)</function>. These are the
87	     tracepoints callbacks that are found throughout the code. Registering and
88	     unregistering probes with these callback sites is covered in the
89	     <filename>Documentation/trace/*</filename> directory.
90	   </para>
91	  </chapter>
92	
93	  <chapter id="irq">
94	   <title>IRQ</title>
95	!Iinclude/trace/events/irq.h
96	  </chapter>
97	
98	  <chapter id="signal">
99	   <title>SIGNAL</title>
100	!Iinclude/trace/events/signal.h
101	  </chapter>
102	
103	  <chapter id="block">
104	   <title>Block IO</title>
105	!Iinclude/trace/events/block.h
106	  </chapter>
107	
108	  <chapter id="workqueue">
109	   <title>Workqueue</title>
110	!Iinclude/trace/events/workqueue.h
111	  </chapter>
112	</book>
Hide Line Numbers


About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog