diff options
Diffstat (limited to 'testsuite/systemtap.examples/general/para-callgraph.stp')
-rwxr-xr-x | testsuite/systemtap.examples/general/para-callgraph.stp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/testsuite/systemtap.examples/general/para-callgraph.stp b/testsuite/systemtap.examples/general/para-callgraph.stp new file mode 100755 index 00000000..e28f5d6b --- /dev/null +++ b/testsuite/systemtap.examples/general/para-callgraph.stp @@ -0,0 +1,22 @@ +#! /usr/bin/env stap + +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) } |