SystemTap User-Space Markers
Since SystemTap 0.9.9 released in August 2009 SystemTap includes support for SystemTap user-space markers. The SystemTap user-space markers are enabled in Fedora 28 and RHEL 7 and allow SystemTap to probe various aspects of its operation such as the start and completion of each phase of converting a SystemTap script into instrumentation.. Below is the SystemTap command and the resulting output listing the SystemTap user-space probes points:
$ stap -L "stap.**" stap.cache_add_mod source_path:string dest_path:string $arg1:long $arg2:long stap.cache_add_src source_path:string dest_path:string $arg1:long $arg2:long stap.cache_clean path:string $arg1:long stap.cache_get source_path:string module_path:string $arg1:long $arg2:long stap.pass0 session:long $arg1:long stap.pass0.end session:long $arg1:long stap.pass1.end session:long $arg1:long stap.pass1a session:long $arg1:long stap.pass1b session:long $arg1:long stap.pass2 session:long $arg1:long stap.pass2.end session:long $arg1:long stap.pass3 session:long $arg1:long stap.pass3.end session:long $arg1:long stap.pass4 session:long $arg1:long stap.pass4.end session:long $arg1:long stap.pass5 session:long $arg1:long stap.pass5.end session:long $arg1:long stap.pass6 session:long $arg1:long stap.pass6.end session:long $arg1:long stap.system command:string $arg1:long stap.system.return ret:long $arg1:long $arg2:long stap.system.spawn ret:long pid:long $arg1:long $arg2:long
Using SystemTap User-Space Markers
To use the SystemTap user-space markers on a Fedora you will need:
- RPMs:
- systemtap
- systemtap-client
- systemtap-debuginfo and systemtap-client-debuginfo
- Membership to the stapdev group (or root access)
Examples Scripts for SystemTap Probing
Short example scripts:
Measure the time of SystemTap translator passes, stap_time.stp