A.5. Changes in SystemTap

Red Hat Developer Toolset 3.1 is distributed with SystemTap 2.6, which provides a number of bug fixes and feature enhancements over the Red Hat Enterprise Linux 6.6 version and the version included in the previous release of Red Hat Developer Toolset. Below is a list of new features in this release.

A.5.1. Changes Since Red Hat Developer Toolset 3.0 and Red Red Hat Enterprise Linux 6.6

The following features have been added since the release of SystemTap included in Red Hat Developer Toolset 3.0 and Red Red Hat Enterprise Linux 6.6:
  • The SystemTap front end (stap) has been improved in a number of ways.
    • A new option, -E script, has been added, which allows for specifying additional scripts. Note that a main script still needs to be specified using the -e option or in a file.
    • DWARF process probes can now be bound to a specific process using the following syntax:
      process(PID).function("*")
    • SystemTap now supports probes with the following syntax:
      process("PATH").library("PATH").plt("NAME").return
    • A PID provided for a process probe is now expected by SystemTap to correspond to a running process.
    • Probes are now printed in a more consistent and precise manner when the listing mode is invoked using the -l or -L options.
    • Enumerated line numbers are now supported by statement probes, which allows for probing discontiguous lines. Use the following syntax:
      process.statement("example@file.c:3,5-7,9")
    • SystemTap now supports moving a probe from the specified line to the nearest line that can be probed using the following syntax:
      statement("*@file:NUM").nearest
  • The SystemTap runtime back end (staprun) has been improved in a number of ways.
    • Certain probe types, kprobes, uprobes, and timer.*s(NUM), can now be armed and disarmed on the fly. Thus, probe overhead can be avoided when probes are not needed.
    • Non-recursive and loop-free probes now have statement counting suppressed in the generated C code. Counting can be turned back on in the unoptimized mode by using the -u option with stap.
    • Statically Defined Tracing (SDT) probes with operands that refer to symbols are now supported.
  • Many new functions have been added to the tapset library and many tapsets were simplified by using the new autocast feature.

Note

Incompatibility problems with old scripts can be resolved using the backward-compatibility option, --compatible version, where version is the version of SystemTap for which the script was written.