Dynamic Tracing and Performance Analysis Using SystemTapMike Mason (firstname.lastname@example.org)
SystemTap is a dynamic tracing tool based on kprobes. Its simple scripting language provides a safe and flexible way to instrument a Linux system without modifying source code or rebooting. It is emerging as an invaluable addition to the toolbox of Linux administrators and developers. SystemTap allows you to write scripts that insert probes at key points in the execution path of the kernel (e.g. entry and exit of functions). Probes can define handlers that collect data of interest when the probe points are hit. Handlers can do things like store data from the probe point's context, aggregate and analyze the data, and print results. SystemTap provides sets of predefined probes, called "tapsets", for key kernel subsystems. You can use these predefined probes as written, extend them to suit your needs, or write your own from scratch. All these features greatly enhance the power and usability of kprobes, making it easy to dynamically extract tracing and performance data from almost every area of the Linux OS.