Section 8 · System administration

bcc-biolatency.8

Package: bcc-tools

On this page

biolatency

NAME
SYNOPSIS
DESCRIPTION
REQUIREMENTS
OPTIONS
EXAMPLES
FIELDS
OVERHEAD
SOURCE
OS
STABILITY
AUTHOR
SEE ALSO


NAME

biolatency − Summarize block device I/O latency as a histogram.

SYNOPSIS

biolatency [−h] [−F] [−T] [−Q] [−m] [−D] [−F] [−e] [−j] [−d DISK] [interval [count]]

DESCRIPTION

biolatency traces block device I/O (disk I/O), and records the distribution of I/O latency (time). This is printed as a histogram either on Ctrl-C, or after a given interval in seconds.

The latency of disk I/O operations is measured from when requests are issued to the device up to completion. A −Q option can be used to include time queued in the kernel.

This tool uses in-kernel eBPF maps for storing timestamps and the histogram, for efficiency.

This works by tracing various kernel blk_*() functions using dynamic tracing, and 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.

−TInclude timestamps on output.
−mOutput histogram in milliseconds.
−DPrint a histogram per disk device.
−FPrint a histogram per set of I/O flags.
−jPrint a histogram dictionary
−eShow extension summary(total, average)

−d DISK

Trace this disk only

interval

Output interval, in seconds.

countNumber of outputs.

EXAMPLES

Summarize block device I/O latency as a histogram:

biolatency

Print 1 second summaries, 10 times:

biolatency 1 10

Print 1 second summaries, using milliseconds as units for the
histogram, and

include timestamps on output: # biolatency −mT 1

Include OS queued time in I/O time:

biolatency −Q

Show a latency histogram for each disk device separately:

biolatency −D

Show a latency histogram in a dictionary format:

biolatency −j

Also show extension summary(total, average):

biolatency −e

FIELDS

usecsMicrosecond range
msecsMillisecond range
countHow many I/O fell into this range

distribution

An ASCII bar chart to visualize the distribution (count column)

OVERHEAD

This traces kernel functions and maintains in-kernel timestamps and a histogram, which are asynchronously copied to user-space. This method is very efficient, and the overhead for most storage I/O rates (< 10k IOPS) should be negligible. If you have a higher IOPS storage environment, test and quantify the overhead 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.

AUTHOR

Brendan Gregg, Rocky Xing

SEE ALSO

biosnoop(8)