Blame view

Documentation/core-api/tracepoint.rst 1.54 KB
d6ba7a9c8   Jonathan Corbet   doc: Sphinxify th...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
  ===============================
  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: