1*387f9dfdSAndroid Build Coastguard WorkerDemonstrations of vfscount, the Linux eBPF/bcc version. 2*387f9dfdSAndroid Build Coastguard Worker 3*387f9dfdSAndroid Build Coastguard Worker 4*387f9dfdSAndroid Build Coastguard WorkerThis counts VFS calls during time, by tracing all kernel functions beginning 5*387f9dfdSAndroid Build Coastguard Workerwith "vfs_", By defaults, the time is 99999999s 6*387f9dfdSAndroid Build Coastguard Worker# ./vfscount 7*387f9dfdSAndroid Build Coastguard WorkerTracing... Ctrl-C to end. 8*387f9dfdSAndroid Build Coastguard Worker^C 9*387f9dfdSAndroid Build Coastguard WorkerADDR FUNC COUNT 10*387f9dfdSAndroid Build Coastguard Workerffffffff811f3c01 vfs_create 1 11*387f9dfdSAndroid Build Coastguard Workerffffffff8120be71 vfs_getxattr 2 12*387f9dfdSAndroid Build Coastguard Workerffffffff811f5f61 vfs_unlink 2 13*387f9dfdSAndroid Build Coastguard Workerffffffff81236ca1 vfs_lock_file 6 14*387f9dfdSAndroid Build Coastguard Workerffffffff81218fb1 vfs_fsync_range 6 15*387f9dfdSAndroid Build Coastguard Workerffffffff811ecaf1 vfs_fstat 319 16*387f9dfdSAndroid Build Coastguard Workerffffffff811e6f01 vfs_open 475 17*387f9dfdSAndroid Build Coastguard Workerffffffff811ecb51 vfs_fstatat 488 18*387f9dfdSAndroid Build Coastguard Workerffffffff811ecac1 vfs_getattr 704 19*387f9dfdSAndroid Build Coastguard Workerffffffff811ec9f1 vfs_getattr_nosec 704 20*387f9dfdSAndroid Build Coastguard Workerffffffff811e80a1 vfs_write 1764 21*387f9dfdSAndroid Build Coastguard Workerffffffff811e7f71 vfs_read 2283 22*387f9dfdSAndroid Build Coastguard Worker 23*387f9dfdSAndroid Build Coastguard WorkerHere we are using an output in 10 seconds, and printing 10 seconds summaries 24*387f9dfdSAndroid Build Coastguard Worker# ./vfscount 10 25*387f9dfdSAndroid Build Coastguard WorkerTracing... Ctrl-C to end. 26*387f9dfdSAndroid Build Coastguard Worker 27*387f9dfdSAndroid Build Coastguard WorkerADDR FUNC COUNT 28*387f9dfdSAndroid Build Coastguard Workerffffffffa1283671 vfs_rename 1 29*387f9dfdSAndroid Build Coastguard Workerffffffffa129f471 vfs_setxattr 1 30*387f9dfdSAndroid Build Coastguard Workerffffffffa12831c1 vfs_mkdir 1 31*387f9dfdSAndroid Build Coastguard Workerffffffffa1282a51 vfs_rmdir 10 32*387f9dfdSAndroid Build Coastguard Workerffffffffa1283f31 vfs_unlink 28 33*387f9dfdSAndroid Build Coastguard Workerffffffffa1273e61 vfs_writev 53 34*387f9dfdSAndroid Build Coastguard Workerffffffffa12ae061 vfs_statfs 55 35*387f9dfdSAndroid Build Coastguard Workerffffffffa129e971 vfs_getxattr 138 36*387f9dfdSAndroid Build Coastguard Workerffffffffa1288561 vfs_readlink 157 37*387f9dfdSAndroid Build Coastguard Workerffffffffa12d6311 vfs_lock_file 223 38*387f9dfdSAndroid Build Coastguard Workerffffffffa1274da1 vfs_write 537 39*387f9dfdSAndroid Build Coastguard Workerffffffffa12798f1 vfs_statx_fd 2337 40*387f9dfdSAndroid Build Coastguard Workerffffffffa1279971 vfs_statx 3064 41*387f9dfdSAndroid Build Coastguard Workerffffffffa1271ba1 vfs_open 4334 42*387f9dfdSAndroid Build Coastguard Workerffffffffa12798b1 vfs_getattr 4823 43*387f9dfdSAndroid Build Coastguard Workerffffffffa1279821 vfs_getattr_nosec 4823 44*387f9dfdSAndroid Build Coastguard Workerffffffffa1274af1 vfs_read 9060 45*387f9dfdSAndroid Build Coastguard Worker 46*387f9dfdSAndroid Build Coastguard Worker 47*387f9dfdSAndroid Build Coastguard WorkerThis can be useful for workload characterization, to see what types of 48*387f9dfdSAndroid Build Coastguard Workeroperations are in use. 49*387f9dfdSAndroid Build Coastguard Worker 50*387f9dfdSAndroid Build Coastguard WorkerYou can edit the script to customize what kernel functions are matched. 51*387f9dfdSAndroid Build Coastguard Worker 52*387f9dfdSAndroid Build Coastguard WorkerFull usage: 53*387f9dfdSAndroid Build Coastguard Worker 54*387f9dfdSAndroid Build Coastguard Worker# ./vfsstat -h 55*387f9dfdSAndroid Build Coastguard WorkerUSAGE: ./vfsstat [time] 56