logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

btrfsdist - Summarize btrfs operation latency. Uses Linux eBPF/bcc.

Author

       Brendan Gregg

Description

       This  tool  summarizes  time  (latency)  spent in common btrfs 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 btrfs_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.

Examples

       Trace btrfs operation time, and print a summary on Ctrl-C:
              # btrfsdist

       Trace PID 181 only:
              # btrfsdist-p181

       Print 1 second summaries, 10 times:
              # btrfsdist110

       1 second summaries, printed in milliseconds
              # btrfsdist-m1

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).

Name

       btrfsdist - Summarize btrfs operation latency. Uses Linux eBPF/bcc.

Options

       -h     Print usage message.

       -T     Don't include timestamps on interval output.

       -m     Output in milliseconds.

       -p PID Trace this PID only.

Os

       Linux

Overhead

       This  adds low-overhead instrumentation to btrfs writes and fsyncs, as well as all system reads and opens
       (due to the current implementation of the btrfs_file_operations interface). Particularly, all  reads  and
       writes  from  the file system cache will incur extra overhead while tracing. 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.

Requirements

       CONFIG_BPF and bcc.

See Also

btrfsslower(8)

USER COMMANDS                                      2016-02-15                                       btrfsdist(8)

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.

Stability

       Unstable - in development.

Synopsis

btrfsdist[-h][-T][-N][-d][interval][count]

See Also