Provided by: bpftrace_0.9.2-1_amd64
biosnoop.bt - Block I/O tracing tool, showing per I/O latency. Uses bpftrace/eBPF.
This is a basic block I/O (disk I/O) tracing tool, showing each I/O event along with the issuing process ID, and the I/O latency. This can be used to investigate disk I/O performance issues. This tool currently works by dynamic tracing of the blk_account*() kernel functions, which will need updating to match any changes to these functions in future kernels versions. Since this uses BPF, only the root user can use this tool.
CONFIG_BPF and bpftrace.
Trace block I/O events, printing per-line summaries: # biosnoop.bt
TIME Time of the I/O completion, in milliseconds since program start. COMM Issuing process name. This often identifies the issuing application process, but I/O may be initiated from kernel threads only. PID Issuing process ID. This often identifies the issuing application process, but I/O may be initiated from kernel threads only. ARGS Process name and arguments (16 word maximum).
Since block device I/O usually has a relatively low frequency (< 10,000/s), the overhead for this tool is expected to be negligible. For high IOPS storage systems, test and quantify before use.
This is from bpftrace. https://github.com/iovisor/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 provides more fields. https://github.com/iovisor/bcc
Unstable - in development.