biostacks.bt(8) System Manager's Manual biostacks.bt(8)

# [NAME](#NAME)

biostacks - Show disk I/O latency with initialization stacks. Uses bpftrace/eBPF.

# [SYNOPSIS](#SYNOPSIS)

**biostacks**

# [DESCRIPTION](#DESCRIPTION)

This tool shows disk I/O latency histograms for each block I/O initialization path. This can help reveal the reason for different latencies, as some may be created by log flushing, others by application reads, etc.

This works by attaching to block\_io\_start and block\_rq\_issue tracepoints.

Since this uses BPF, only the root user can use this tool.

# [REQUIREMENTS](#REQUIREMENTS)

CONFIG\_BPF and bpftrace.

# [EXAMPLES](#EXAMPLES)

[Trace disk I/O latency with initialization stacks:](#Trace)

\# **biostacks.bt**

# [FIELDS](#FIELDS)

0th

An initialization kernel stack trace (shown in "@\[...]") is printed before each I/O histogram.

1st, 2nd

This is a range of I/O latency, in microseconds (shown in "[...)" set notation).

3rd

A column showing the count of I/O in this range.

4th

This is an ASCII histogram representing the count column.

# [OVERHEAD](#OVERHEAD)

The rate of biostacks should be low (bounded by device IOPS), such that the overhead of this tool is expected to be negligible.

# [SOURCE](#SOURCE)

This tool originated from the book "BPF Performance Tools", published by Addison Wesley (2019):

http://www.brendangregg.com/bpf-performance-tools-book.html

See the book for more documentation on this tool.

This version is in the bpftrace repository:

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.

# [OS](#OS)

Linux

# [STABILITY](#STABILITY)

Unstable - in development.

# [AUTHOR](#AUTHOR)

Brendan Gregg

# [SEE ALSO](#SEE_ALSO)

[biosnoop.bt(8)](/man/enterprise-packages/bpftrace/biosnoop.bt.8)

2019-07-12 USER COMMANDS

---

Document: biostacks.bt(8) from bpftrace 0.27.0-r1 (Chainguard OS)
Source: https://github.com/bpftrace/bpftrace
