Scroll to navigation

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

NAME

wqlat - Summarize kernel workqueue latency as a histogram.

SYNOPSIS

wqlat [-h] [-T] [-N] [-W] [-w WQNAME] [interval [count]]

DESCRIPTION

wqlat traces work's waiting on workqueue, and records the distribution of work's queuing latency (time). This is printed as a histogram either on Ctrl-C, or after a given interval in seconds.

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

This tool uses the workqueue:workqueue_queue_work and workqueue:workqueue_execute_start kernel tracepoints, which is a stable tracing mechanism. Please note BPF programs can attach to tracepoints from Linux 4.7 only, so this tools can only support kernel 4.7 or later version.

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

REQUIREMENTS

CONFIG_BPF and bcc.

OPTIONS

-h Print usage message.

Include timestamps on output.
Output histogram in nanoseconds.
Print a histogram per workqueue.
Trace this workqueue only
Output interval, in seconds.
Number of outputs.

EXAMPLES

# wqlat
# wqlat 1 10
include timestamps on output: # wqlat -NT 1
# wqlat -W 1 10
# wqlat -w nvmet_tcp_wq 1

FIELDS

Microsecond range
Nanosecond range
How many works into this range
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 workqueue scheduling rates (< 100k) should be negligible.If you have a higher workqueue scheduling, please 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

Ping Gan

SEE ALSO

biolatency

2024-01-29 USER COMMANDS