summaryrefslogtreecommitdiffstats
path: root/testsuite/systemtap.examples/general/para-callgraph.stp
blob: 9abb00c2497137ef02a576a0c94931778979fc2a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#! /usr/bin/env stap

function trace(entry_p, extra) {
   %( $# > 1 %? if (tid() in trace) %)
   printf("%s%s%s %s\n",
          thread_indent (entry_p),
       	  (entry_p>0?"->":"<-"),
          probefunc (),
          extra)
}


%( $# > 1 %?
global trace
probe $2.call {
   trace[tid()] = 1
}
probe $2.return {
   delete trace[tid()]
}
%)

probe $1.call   { trace(1, $$parms) }
probe $1.return { trace(-1, $$return) }