Current File : //proc/thread-self/root/kunden/usr/share/systemtap/examples/profiling/topsys.stp |
#!/usr/bin/stap
#
# This script continuously lists the top 20 systemcalls in the interval
# 5 seconds
#
global syscalls_count
probe syscall_any {
syscalls_count[name] <<< 1
}
function print_systop () {
printf ("%25s %10s\n", "SYSCALL", "COUNT")
foreach (syscall in syscalls_count- limit 20) {
printf("%25s %10d\n", syscall, @count(syscalls_count[syscall]))
}
delete syscalls_count
}
probe timer.s(5) {
print_systop ()
printf("--------------------------------------------------------------\n")
}
global prom_arr
probe prometheus {
foreach (syscall in syscalls_count- limit 20)
prom_arr[syscall] = @count(syscalls_count[syscall])
@prometheus_dump_array1(prom_arr, "top_syscall_count", "name")
delete prom_arr
}