| Jason Baron | a76f8c6 | 2009-04-30 13:29:42 -0400 | [diff] [blame] | 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> | 
| William Cohen | 881245d | 2010-03-09 09:26:04 +0100 | [diff] [blame] | 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> | 
| Jason Baron | a76f8c6 | 2009-04-30 13:29:42 -0400 | [diff] [blame] | 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 |  | 
| Jason Baron | 9ee1983 | 2009-04-30 13:29:47 -0400 | [diff] [blame] | 93 | <chapter id="irq"> | 
|  | 94 | <title>IRQ</title> | 
|  | 95 | !Iinclude/trace/events/irq.h | 
|  | 96 | </chapter> | 
|  | 97 |  | 
| Masami Hiramatsu | d1eb650 | 2009-11-24 16:56:45 -0500 | [diff] [blame] | 98 | <chapter id="signal"> | 
|  | 99 | <title>SIGNAL</title> | 
|  | 100 | !Iinclude/trace/events/signal.h | 
|  | 101 | </chapter> | 
|  | 102 |  | 
| William Cohen | 881245d | 2010-03-09 09:26:04 +0100 | [diff] [blame] | 103 | <chapter id="block"> | 
|  | 104 | <title>Block IO</title> | 
|  | 105 | !Iinclude/trace/events/block.h | 
|  | 106 | </chapter> | 
| Jason Baron | a76f8c6 | 2009-04-30 13:29:42 -0400 | [diff] [blame] | 107 | </book> |