summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobb Romans <robb@linux.vnet.ibm.com>2009-09-16 15:46:38 -0500
committerJosh Stone <jistone@redhat.com>2009-09-16 15:32:03 -0700
commitbb315ec60631da74190bce71f16e6de15b6a2369 (patch)
tree847c3119a55968cd260f6c0e8ec1086ea3b5f868
parent6b6786d6ecee4619c2761482ba62fd63bc8df18e (diff)
downloadsystemtap-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>
-rw-r--r--doc/langref.tex33
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}