|
@@ -1,112 +0,0 @@
|
|
|
-<?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>
|
|
|
- <author>
|
|
|
- <firstname>William</firstname>
|
|
|
- <surname>Cohen</surname>
|
|
|
- <affiliation>
|
|
|
- <address>
|
|
|
- <email>wcohen@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>
|
|
|
-
|
|
|
- <chapter id="irq">
|
|
|
- <title>IRQ</title>
|
|
|
-!Iinclude/trace/events/irq.h
|
|
|
- </chapter>
|
|
|
-
|
|
|
- <chapter id="signal">
|
|
|
- <title>SIGNAL</title>
|
|
|
-!Iinclude/trace/events/signal.h
|
|
|
- </chapter>
|
|
|
-
|
|
|
- <chapter id="block">
|
|
|
- <title>Block IO</title>
|
|
|
-!Iinclude/trace/events/block.h
|
|
|
- </chapter>
|
|
|
-
|
|
|
- <chapter id="workqueue">
|
|
|
- <title>Workqueue</title>
|
|
|
-!Iinclude/trace/events/workqueue.h
|
|
|
- </chapter>
|
|
|
-</book>
|