ext4dist-bpfcc8
Summarize ext4 operation latency. uses linux ebpf/bcc.
Usage
ext4dist [-h]
[-T]
[-m]
[-p
PID]
[interval]
[count]
Overview
This tool summarizes time (latency) spent in common ext4 file operations: reads, writes, opens, and syncs, and presents it as a power-of-2 histogram. It uses an in-kernel eBPF map to store the histogram for efficiency.
Since this works by tracing the ext4_file_operations interface functions, it will need updating to match any changes to these functions.
Since this uses BPF, only the root user can use this tool.
Requirements
CONFIG_BPF and bcc.
Options
-
-h -
Print usage message.
-
-T -
Don't include timestamps on interval output.
-
-m -
Output in milliseconds.
-
-p PID -
Trace this PID only.
Examples
Trace ext4 operation time, and print a summary on Ctrl-C:
|
# |
|---|---|
Trace PID 181 only:
|
# ext4dist -p 181 |
Print 1 second summaries, 10 times:
|
# ext4dist 1 10 |
1 second summaries, printed in milliseconds
|
# ext4dist -m 1 |
Fields
msecs
|
Range of milliseconds for this bucket. |
|---|---|
usecs
|
Range of microseconds for this bucket. |
count
|
Number of operations in this time range. |
distribution
|
ASCII representation of the distribution (the count column). |
Overhead
This adds low-overhead instrumentation to these ext4 operations, including reads and writes from the file system cache. Such reads and writes can be very frequent (depending on the workload; eg, 1M/sec), at which point the overhead of this tool may become noticeable. Measure and quantify before use.
Source
This is from bcc.
-
https://github.com/iovisor/bcc
Also look in the bcc distribution for a companion _examples.txt file containing example usage, output, and commentary for this tool.
OS
Linux
Stability
Unstable - in development.
Releases
Unchanged in 4 releases since Debian 10 (Buster).