diff options
author | Robb Romans <robb@linux.vnet.ibm.com> | 2009-09-16 15:46:38 -0500 |
---|---|---|
committer | Josh Stone <jistone@redhat.com> | 2009-09-16 15:32:03 -0700 |
commit | bb315ec60631da74190bce71f16e6de15b6a2369 (patch) | |
tree | 847c3119a55968cd260f6c0e8ec1086ea3b5f868 /doc/langref.tex | |
parent | 6b6786d6ecee4619c2761482ba62fd63bc8df18e (diff) | |
download | systemtap-steved-bb315ec60631da74190bce71f16e6de15b6a2369.tar.gz systemtap-steved-bb315ec60631da74190bce71f16e6de15b6a2369.tar.xz systemtap-steved-bb315ec60631da74190bce71f16e6de15b6a2369.zip |
Add tracepoint information to Language Reference
Signed-off-by: Robb Romans <robb@linux.vnet.ibm.com>
Signed-off-by: Josh Stone <jistone@redhat.com>
Diffstat (limited to 'doc/langref.tex')
-rw-r--r-- | doc/langref.tex | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/doc/langref.tex b/doc/langref.tex index 2bc9281d..6003890a 100644 --- a/doc/langref.tex +++ b/doc/langref.tex @@ -992,6 +992,39 @@ For more information about marker probes, see \url{http://sourceware.org/systemtap/wiki/UsingMarkers}. +\subsection{Tracepoints} +\label{sec:tracepoints} +\index{tracepoints} + +This family of probe points hooks to static probing tracepoints +inserted into the kernel or kernel modules. As with marker probes, +these tracepoints are special macro calls inserted by kernel +developers to make probing faster and more reliable than with +DWARF-based probes. DWARF debugging information is not required to +probe tracepoints. Tracepoints have more strongly-typed parameters +than marker probes. + +Tracepoint probes begin with \texttt{kernel}. The next part names the +tracepoint itself: \texttt{trace("name")}. The tracepoint +\texttt{name} string, which can contain wildcard characters, is +matched against the names defined by the kernel developers in the +tracepoint header files. + +The handler associated with a tracepoint-based probe can read the +optional parameters specified at the macro call site. These +parameters are named according to the declaration by the tracepoint +author. For example, the tracepoint probe +\texttt{kernel.trace("sched\_switch")} provides the parameters +\texttt{\$rq}, \texttt{\$prev}, and \texttt{\$next}. If the parameter +is a complex type such as a struct pointer, then a script can access +fields with the same syntax as DWARF \texttt{\$target} variables. +Tracepoint parameters cannot be modified; however, in guru mode a +script can modify fields of parameters. + +The name of the tracepoint is available in \texttt{\$\$name}, and a +string of \texttt{name=value} pairs for all parameters of the +tracepoint is available in \texttt{\$\$vars} or \texttt{\$\$parms}. + \subsection{Timer probes} \index{timer probes} |