vfscount.bt - Count VFS calls ("vfs_*"). Uses bpftrace/eBPF.
Contents
Description
This counts VFS calls. This can be useful for general workload characterization of these operations.
This works by tracing all kernel functions beginning with "vfs_" using dynamic tracing. This may match
more functions than you are interested in measuring: Edit the script to customize which functions to
trace.
Since this uses BPF, only the root user can use this tool.
Examples
Count all VFS calls until Ctrl-C is hit:
# vfscount.btFields
1st Kernel function name (in @[])
2nd Number of calls while tracing
Name
vfscount.bt - Count VFS calls ("vfs_*"). Uses bpftrace/eBPF.
Os
Linux
Overhead
This traces kernel vfs functions and maintains in-kernel counts, which are asynchronously copied to user-
space. While the rate of VFS operations can be very high (>1M/sec), this is a relatively efficient way to
trace these events, and so the overhead is expected to be small for normal workloads. Measure in a test
environment, and if overheads are an issue, edit the script to reduce the types of vfs functions traced
(currently all beginning with "vfs_").
Requirements
CONFIG_BPF and bpftrace.
See Also
vfsstat.bt(8) USER COMMANDS 2018-09-06 vfscount.bt(8)
Source
This is from bpftrace.
https://github.com/bpftrace/bpftrace
Also look in the bpftrace distribution for a companion _examples.txt file containing example usage,
output, and commentary for this tool.
This is a bpftrace version of the bcc tool of the same name. The bcc tool may provide more options and
customizations.
https://github.com/iovisor/bcc
Stability
Unstable - in development.
Synopsis
vfscount.bt
