#!/usr/bin/env stap global nfscalls write_time probe begin { printf("Collecting top NFS procs...\n") } probe module("nfs").function("*@fs/nfs/*write.c") { nfscalls[probefunc()] = gettimeofday_us() } probe module("nfs").function("*@fs/nfs/*write.c").return { write_time = nfscalls[probefunc()] nfscalls[probefunc()] = gettimeofday_us() - write_time } /* probe module("nfs").function("*@fs/nfs/*direct.c") { nfscalls[probefunc()]++ } probe kernel.function("*@fs/nfs/*pagelist.c") ?, module("nfs").function("*@fs/nfs/*pagelist.c") ? { nfscalls[probefunc()]++ } */ probe end { printf("Collating data...\n"); foreach (name in nfscalls- limit 50) printf("%10d %s\n", nfscalls[name], name) }