btrfsdist(8) System Manager's Manual btrfsdist(8)

# [NAME](#NAME)

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

# [SYNOPSIS](#SYNOPSIS)

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

# [DESCRIPTION](#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.

# [REQUIREMENTS](#REQUIREMENTS)

CONFIG\_BPF and bcc.

# [OPTIONS](#OPTIONS)

[-h](#h)

Print usage message.

[-T](#T)

Don't include timestamps on interval output.

[-m](#m)

Output in milliseconds.

[-p PID](#p)

Trace this PID only.

# [EXAMPLES](#EXAMPLES)

[Trace btrfs operation time, and print a summary on Ctrl-C:](#Trace)

\# **btrfsdist**

[Trace PID 181 only:](#Trace~2)

\# **btrfsdist -p 181**

[Print 1 second summaries, 10 times:](#Print)

\# **btrfsdist 1 10**

1 second summaries, printed in milliseconds

\# **btrfsdist -m 1**

# [FIELDS](#FIELDS)

[msecs](#msecs)

Range of milliseconds for this bucket.

[usecs](#usecs)

Range of microseconds for this bucket.

[count](#count)

Number of operations in this time range.

[distribution](#distribution)

ASCII representation of the distribution (the count column).

# [OVERHEAD](#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.

# [SOURCE](#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](#OS)

Linux

# [STABILITY](#STABILITY)

Unstable - in development.

# [AUTHOR](#AUTHOR)

Brendan Gregg

# [SEE ALSO](#SEE_ALSO)

[btrfsslower(8)](/man/enterprise-packages/bcc/btrfsslower.8)

2016-02-15 USER COMMANDS

---

Document: btrfsdist(8) from bcc 0.37.0-r3 (Chainguard OS)
Source: https://github.com/iovisor/bcc
