forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.5 KiB
55 lines
1.5 KiB
=============================== |
|
The Linux Kernel Tracepoint API |
|
=============================== |
|
|
|
:Author: Jason Baron |
|
:Author: William Cohen |
|
|
|
Introduction |
|
============ |
|
|
|
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. |
|
|
|
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. |
|
|
|
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. |
|
|
|
The API presented has functions of the form: |
|
``trace_tracepointname(function parameters)``. These are the tracepoints |
|
callbacks that are found throughout the code. Registering and |
|
unregistering probes with these callback sites is covered in the |
|
``Documentation/trace/*`` directory. |
|
|
|
IRQ |
|
=== |
|
|
|
.. kernel-doc:: include/trace/events/irq.h |
|
:internal: |
|
|
|
SIGNAL |
|
====== |
|
|
|
.. kernel-doc:: include/trace/events/signal.h |
|
:internal: |
|
|
|
Block IO |
|
======== |
|
|
|
.. kernel-doc:: include/trace/events/block.h |
|
:internal: |
|
|
|
Workqueue |
|
========= |
|
|
|
.. kernel-doc:: include/trace/events/workqueue.h |
|
:internal:
|
|
|