blob: 478db97e4d152303e4f81c4d36b5bafeaf43ea04 [file] [log] [blame]
Demonstrations of vfscount, the Linux eBPF/bcc version.
This counts VFS calls during time, by tracing all kernel functions beginning
with "vfs_", By defaults, the time is 99999999s
# ./vfscount
Tracing... Ctrl-C to end.
^C
ADDR FUNC COUNT
ffffffff811f3c01 vfs_create 1
ffffffff8120be71 vfs_getxattr 2
ffffffff811f5f61 vfs_unlink 2
ffffffff81236ca1 vfs_lock_file 6
ffffffff81218fb1 vfs_fsync_range 6
ffffffff811ecaf1 vfs_fstat 319
ffffffff811e6f01 vfs_open 475
ffffffff811ecb51 vfs_fstatat 488
ffffffff811ecac1 vfs_getattr 704
ffffffff811ec9f1 vfs_getattr_nosec 704
ffffffff811e80a1 vfs_write 1764
ffffffff811e7f71 vfs_read 2283
Here we are using an output in 10 seconds, and printing 10 seconds summaries
# ./vfscount 10
Tracing... Ctrl-C to end.
ADDR FUNC COUNT
ffffffffa1283671 vfs_rename 1
ffffffffa129f471 vfs_setxattr 1
ffffffffa12831c1 vfs_mkdir 1
ffffffffa1282a51 vfs_rmdir 10
ffffffffa1283f31 vfs_unlink 28
ffffffffa1273e61 vfs_writev 53
ffffffffa12ae061 vfs_statfs 55
ffffffffa129e971 vfs_getxattr 138
ffffffffa1288561 vfs_readlink 157
ffffffffa12d6311 vfs_lock_file 223
ffffffffa1274da1 vfs_write 537
ffffffffa12798f1 vfs_statx_fd 2337
ffffffffa1279971 vfs_statx 3064
ffffffffa1271ba1 vfs_open 4334
ffffffffa12798b1 vfs_getattr 4823
ffffffffa1279821 vfs_getattr_nosec 4823
ffffffffa1274af1 vfs_read 9060
This can be useful for workload characterization, to see what types of
operations are in use.
You can edit the script to customize what kernel functions are matched.
Full usage:
# ./vfsstat -h
USAGE: ./vfsstat [time]