summaryrefslogtreecommitdiffstats
path: root/examples/small_demos/top.stp
blob: 69931ab1d80d00f0761d281b5f6a37fdd98af815 (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 
#
# This script continuously lists the top 20 systemcalls on the system
#

global syscalls

function print_top () {
	printf ("SYSCALL\t\t\t\tCOUNT\n")
	foreach ([name] in syscalls- limit 20)
		printf("%-20s\t\t%5d\n",name, syscalls[name])
	printf("--------------------------------------\n")
	delete syscalls
}

probe kernel.function("sys_*").call {
	syscalls[probefunc()]++
}

# print top syscalls every 5 seconds
probe timer.ms(5000) {
	print_top ()
}