File: probe_by_pid_utrace.stp

package info (click to toggle)
systemtap 5.1-5
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 47,964 kB
  • sloc: cpp: 80,838; ansic: 54,757; xml: 49,725; exp: 43,665; sh: 11,527; python: 5,003; perl: 2,252; tcl: 1,312; makefile: 1,006; javascript: 149; lisp: 105; awk: 101; asm: 91; java: 70; sed: 16
file content (45 lines) | stat: -rw-r--r-- 720 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
global begin_probes
global syscall_probes
global end_probes

probe timer.s(5)
{
	exit()
}

# Actual probes
probe process($1).begin
{
	begin_probes[pid()]++
}

probe process($1).syscall
{
	syscall_probes[pid()]++
}

probe process($1).end
{
	end_probes[pid()]++
}

# Testsuite glue
probe begin
{
	printf("systemtap starting probe\n");
}

probe end
{
	printf("systemtap ending probe\n");
	foreach (pid in begin_probes) {
		printf("%d: %d begin probes\n", pid, begin_probes[pid])
	}
	foreach (pid in syscall_probes) {
		printf("%d: %d syscall probes\n", pid, syscall_probes[pid])
	}
	# We really shouldn't see any end_probes fired...
	foreach (pid in end_probes) {
		printf("%d: %d end probes\n", pid, end_probes[pid])
	}
}