SystemTap scripts are written with its own C/awk-like language. They enable us to trace events by using the kernel code at different locations, such as:
- Beginning and end of SystemTap sessions
- Entry, return, or specific offset of kernel and user space functions
- Timer events
- Performance hardware counter events
They also enable us to extract data, such as:
- Thread, process, or user ID
- Current CPU
- Process name
- Time
- Local variables
- Kernel and user space backtraces
Additionally, SystemTap also offers the ability to analyze the gathered data, and allows different probes to work together. SystemTap includes a wide selection of example scripts and a framework for creating script libraries that can be shared. These tapsets are installed by default and can be extended by the user's own scripts. When a symbol is not defined in a script, SystemTap will search the tapset library for it.