go through the tedious instrument, recompile, install, and reboot sequence
normally required to collect this kind of data. To do this, it provides a
simple command-line interface and scripting language for writing
-instrumenation for both kernel and user space.
+instrumentation for both kernel and user space.
With SystemTap, developers, system administrators, and users can easily write
scripts that gather and manipulate system data that is otherwise unavailable
from standard Linux tools. Users of SystemTap will find it to be a significant
\begin{vindent}
\begin{verbatim}
-kernel.function("func[@file]"
-module("modname").function("func[@file]"
+kernel.function("func[@file]")
+module("modname").function("func[@file]")
\end{verbatim}
\end{vindent}
Examples:
Two functions, \verb+user_string+ and \verb+kernel_string+, can copy
\verb+char *+ target variables into systemtap strings.
Figure~\ref{fig:inode-watch} demonstrates one way to monitor a
-particular file (identifed by device number and inode number).
+particular file (identified by device number and inode number).
The script selects the appropriate variants of \verb+dev_nr+
and\verb+inode_nr+ based on the kernel version.
This example also demonstrates passing numeric command-line arguments
and so on. Systemtap offers associative arrays for this purpose.
These arrays are implemented as hash tables with a maximum size that
is fixed at startup. Because they are too large to be created
-dynamically for inidividual probes handler runs, they must be declared
+dynamically for individual probes handler runs, they must be declared
as global. \nomenclature{array}{A global
\verb+[+$k_1,k_2,\ldots,k_n\verb+]+\rightarrow value$
associative lookup table, with a string,