SystemTap Tapset Reference Manual
2008-2009
Red Hat, Inc. and others
SystemTap
Hackers
This documentation is free software; you can redistribute
it and/or modify it under the terms of the GNU General Public
License version 2 as published by the Free Software Foundation.
This program is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with this program; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
MA 02111-1307 USA
For more details see the file COPYING in the source
distribution of Linux.
Introduction
SystemTap provides free software (GPL) infrastructure to simplify the
gathering of information about the running Linux system. This assists
diagnosis of a performance or functional problem. SystemTap eliminates the
need for the developer to go through the tedious and disruptive instrument,
recompile, install, and reboot sequence that may be otherwise required to
collect data.
SystemTap provides a simple command line interface and scripting language
for writing instrumentation for a live running kernel. The instrumentation
makes extensive use of the probe points and functions provided in the
tapset library. This document describes the various
probe points and functions.
Context Functions
The context functions provide additional information about where
an event occurred.
These functions can provide information such as a backtrace to
where the event occurred
and the current register values for the processor.
!Itapset/context.stp
!Itapset/context-symbols.stp
!Itapset/ucontext-symbols.stp
!Itapset/context-unwind.stp
!Itapset/ucontext-unwind.stp
Timestamp Functions
Each timestamp function returns a value to indicate when
a function is executed.
These returned values can then be used to indicate
when an event occurred, provide an ordering for events, or compute
the amount of time elapsed between two time stamps.
!Itapset/timestamp.stp
Memory Tapset
This family of probe points is used to probe memory-related events
or query the memory usage of the current process.
It contains the following probe points:
!Itapset/memory.stp
!Itapset/proc_mem.stp
Task Time Tapset
This tapset defines utility functions to query time related
properties of the current tasks, translate those in miliseconds
and human readable strings.
!Itapset/task_time.stp
IO Scheduler Tapset
This family of probe points is used to probe IO scheduler activities.
It contains the following probe points:
!Itapset/ioscheduler.stp
SCSI Tapset
This family of probe points is used to probe SCSI activities.
It contains the following probe points:
!Itapset/scsi.stp
TTY Tapset
This family of probe points is used to probe TTY (Teletype) activities.
It contains the following probe points:
!Itapset/tty.stp
Networking Tapset
This family of probe points is used to probe the activities of
the network device and protocol layers.
!Itapset/networking.stp
!Itapset/tcp.stp
!Itapset/udp.stp
!Itapset/ip.stp
Socket Tapset
This family of probe points is used to probe socket activities.
It contains the following probe points:
!Itapset/socket.stp
Kernel Process Tapset
This family of probe points is used to probe process-related activities.
It contains the following probe points:
!Itapset/kprocess.stp
Signal Tapset
This family of probe points is used to probe signal activities.
It contains the following probe points:
!Itapset/signal.stp
Directory-entry (dentry) Tapset
This family of functions is used to map kernel VFS
directory entry pointers to file or full path names.
!Itapset/dentry.stp
Logging Tapset
This family of functions is used to send simple
message strings to various destinations.
!Itapset/logging.stp
Random functions Tapset
These functions deal with random number generation.
!Itapset/random.stp