diff options
author | jistone <jistone> | 2006-05-10 00:47:59 +0000 |
---|---|---|
committer | jistone <jistone> | 2006-05-10 00:47:59 +0000 |
commit | 95bb018ba49d8d11c5b261b4fbac2d55dac7c9e2 (patch) | |
tree | c37c42ec13c01b62c6a9507943bf28038065494f /examples | |
parent | eeee7059dc4d88e4950e93504357e1f4ce140912 (diff) | |
download | systemtap-steved-95bb018ba49d8d11c5b261b4fbac2d55dac7c9e2.tar.gz systemtap-steved-95bb018ba49d8d11c5b261b4fbac2d55dac7c9e2.tar.xz systemtap-steved-95bb018ba49d8d11c5b261b4fbac2d55dac7c9e2.zip |
2006-05-09 Josh Stone <joshua.i.stone@intel.com>
* examples/small_demos/proc_snoop.stp: monitor all process events.
* testsuite/buildok/task_test.stp: test compilation of all task
functions.
* testsuite/buildok/process_test.stp: test all process events and
associated variables.
Diffstat (limited to 'examples')
-rwxr-xr-x | examples/small_demos/proc_snoop.stp | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/examples/small_demos/proc_snoop.stp b/examples/small_demos/proc_snoop.stp new file mode 100755 index 00000000..c7517496 --- /dev/null +++ b/examples/small_demos/proc_snoop.stp @@ -0,0 +1,57 @@ +#!/usr/bin/env stap + +global start_ts + +probe begin { + start_ts = gettimeofday_us() + printf("%12s %5s %5s %-16s ACTION\n", + "TIMESTAMP", "PID", "TID", "EXECNAME") +} + +function report(action:string) { + printf("%12d %5d %5d %-16s %s\n", gettimeofday_us() - start_ts, + pid(), tid(), execname(), action) +} + +function id:string(task:long) { + return sprintf("p:%d t:%d n:%s", task_pid(task), task_tid(task), + task_execname(task)) +} + +probe process.create { + report(sprintf("create %s", id(task))) +} + +probe process.start { + report("start") +} + +probe process.exec { + report(sprintf("exec %s", filename)) +} + +probe process.exec.complete { + if (success) + report("exec success") + else + report(sprintf("exec failed %d (%s)", errno, errno_str(errno))) +} + +probe process.exit { + report(sprintf("exit %d", code)) +} + +probe process.release { + report(sprintf("remove %s", id(task))) +} + +probe process.signal.send { + report(sprintf("sigsend %d (%s) to %s%s", signal, signal_name, id(task), + shared? " [SHARED]" : "")) +} + +/* FIXME this probepoint is not fully implemented +probe process.signal.handle { + report(sprintf("sighandle %d (%s)", signal, signal_name)) +} +*/ |