-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
tracing: add new tracepoints docbook
Add tracepoint docbook. This will help us document and understand what tracepoints are in the kernel. Since there are multiple macros, and files that contain tracepoints. [ Impact: add documentation ] Signed-off-by: Jason Baron <jbaron@redhat.com> Acked-by: Randy Dunlap <randy.dunlap@oracle.com> Cc: akpm@linux-foundation.org Cc: rostedt@goodmis.org Cc: fweisbec@gmail.com Cc: mathieu.desnoyers@polymtl.ca Cc: wcohen@redhat.com LKML-Reference: <84160b6bd94aff02455da7e12bad054d34c579a0.1241107197.git.jbaron@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
- Loading branch information
Jason Baron
authored and
Ingo Molnar
committed
May 1, 2009
1 parent
56afb0f
commit a76f8c6
Showing
2 changed files
with
86 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" | ||
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []> | ||
|
||
<book id="Tracepoints"> | ||
<bookinfo> | ||
<title>The Linux Kernel Tracepoint API</title> | ||
|
||
<authorgroup> | ||
<author> | ||
<firstname>Jason</firstname> | ||
<surname>Baron</surname> | ||
<affiliation> | ||
<address> | ||
<email>jbaron@redhat.com</email> | ||
</address> | ||
</affiliation> | ||
</author> | ||
</authorgroup> | ||
|
||
<legalnotice> | ||
<para> | ||
This documentation is free software; you can redistribute | ||
it and/or modify it under the terms of the GNU General Public | ||
License as published by the Free Software Foundation; either | ||
version 2 of the License, or (at your option) any later | ||
version. | ||
</para> | ||
|
||
<para> | ||
This program is distributed in the hope that it will be | ||
useful, but WITHOUT ANY WARRANTY; without even the implied | ||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
See the GNU General Public License for more details. | ||
</para> | ||
|
||
<para> | ||
You should have received a copy of the GNU General Public | ||
License along with this program; if not, write to the Free | ||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, | ||
MA 02111-1307 USA | ||
</para> | ||
|
||
<para> | ||
For more details see the file COPYING in the source | ||
distribution of Linux. | ||
</para> | ||
</legalnotice> | ||
</bookinfo> | ||
|
||
<toc></toc> | ||
<chapter id="intro"> | ||
<title>Introduction</title> | ||
<para> | ||
Tracepoints are static probe points that are located in strategic points | ||
throughout the kernel. 'Probes' register/unregister with tracepoints | ||
via a callback mechanism. The 'probes' are strictly typed functions that | ||
are passed a unique set of parameters defined by each tracepoint. | ||
</para> | ||
|
||
<para> | ||
From this simple callback mechanism, 'probes' can be used to profile, debug, | ||
and understand kernel behavior. There are a number of tools that provide a | ||
framework for using 'probes'. These tools include Systemtap, ftrace, and | ||
LTTng. | ||
</para> | ||
|
||
<para> | ||
Tracepoints are defined in a number of header files via various macros. Thus, | ||
the purpose of this document is to provide a clear accounting of the available | ||
tracepoints. The intention is to understand not only what tracepoints are | ||
available but also to understand where future tracepoints might be added. | ||
</para> | ||
|
||
<para> | ||
The API presented has functions of the form: | ||
<function>trace_tracepointname(function parameters)</function>. These are the | ||
tracepoints callbacks that are found throughout the code. Registering and | ||
unregistering probes with these callback sites is covered in the | ||
<filename>Documentation/trace/*</filename> directory. | ||
</para> | ||
</chapter> | ||
|
||
</book> |