More user-space probes

David Smith dsmith@redhat.com
Tue Apr 22 17:38:00 GMT 2008


I've just finished implementing some new forms of user-space probing.
Here's an example script:

  probe process("/bin/ls").exec { print("ls exec'ed!\n") }
  probe process("/bin/ls").syscall { printf("|%d", $syscall) }
  probe process("/bin/ls").syscall.return { print("+") }
  probe process("/bin/ls").death { print("\nls done!\n") }

There are 5 new probe variants:

  process(PID_OR_PATH).clone
  process(PID_OR_PATH).exec
  process(PID_OR_PATH).death
  process(PID_OR_PATH).syscall
  process(PID_OR_PATH).syscall.return

(Internally, these are implemented using utrace.  These probe types also
use the new "task_finder" framework, which provides the support by
probing by PID or by PATH.  Eventually, the existing uprobes probes (and
the future itrace probes) should be converted to use the "task_finder"
framework.)

Feel free to try out the new probe types and let me know if you find any
issues.

-- 
David Smith
dsmith@redhat.com
Red Hat
http://www.redhat.com
256.217.0141 (direct)
256.837.0057 (fax)



More information about the Systemtap mailing list