diff options
author | Frank Ch. Eigler <fche@elastic.org> | 2008-07-04 17:11:29 -0400 |
---|---|---|
committer | Frank Ch. Eigler <fche@elastic.org> | 2008-07-04 17:11:29 -0400 |
commit | 53f7dd30e87fa480c5d43ce2a1312ce27a4372c9 (patch) | |
tree | 4f1c64048d43c50c11877a66d3f7f918e43a0f7b /testsuite/systemtap.examples/para-callgraph.stp | |
parent | 1b94bf6d310cf41041d0a6c24be85a892d443708 (diff) | |
parent | 422b0781177e0755df5542e1c70e809e6f3cfe89 (diff) | |
download | systemtap-steved-53f7dd30e87fa480c5d43ce2a1312ce27a4372c9.tar.gz systemtap-steved-53f7dd30e87fa480c5d43ce2a1312ce27a4372c9.tar.xz systemtap-steved-53f7dd30e87fa480c5d43ce2a1312ce27a4372c9.zip |
Merge commit 'origin/master' into pr6429-comp-unwindsyms
* commit 'origin/master':
ubuntu (2.6.24-16-server) kernel compatibility fix
client/server take 2. See bz6565.
Add functioncallcount.meta and functioncallcount.stp.
Add para-callgraph.stp and para-callgraph.meta.
Fixed __stp_get_mm_path() error return code.
diagnostics improvement: print arch/mach at top if -vv
Make _vfs.generic_commit_write only for kernel<=2.6.25
Handles "mortally wounded" threads correctly when detaching.
further clarify that elfutils need not be absolutely freshest, nor rebuilt every time
point out releases/ directory; clarify optionality of elfutils bundling
Add auto_free_ref to auto_free stuff; bug 6694
Diffstat (limited to 'testsuite/systemtap.examples/para-callgraph.stp')
-rw-r--r-- | testsuite/systemtap.examples/para-callgraph.stp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/testsuite/systemtap.examples/para-callgraph.stp b/testsuite/systemtap.examples/para-callgraph.stp new file mode 100644 index 00000000..1afb8837 --- /dev/null +++ b/testsuite/systemtap.examples/para-callgraph.stp @@ -0,0 +1,20 @@ +function trace(entry_p) { + if(tid() in trace) + printf("%s%s%s\n",thread_indent(entry_p), + (entry_p>0?"->":"<-"), + probefunc()) +} + +global trace +probe kernel.function(@1).call { + if (execname() == "stapio") next # skip our own helper process + trace[tid()] = 1 + trace(1) +} +probe kernel.function(@1).return { + trace(-1) + delete trace[tid()] +} + +probe kernel.function(@2).call { trace(1) } +probe kernel.function(@2).return { trace(-1) } |