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

wqlat - Summarize kernel workqueue latency as a histogram.

Author

       Ping Gan

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.

Examples

       Summarize kernel workqueue latency as a histogram:
              # wqlat

       Print 1 second summaries, 10 times:
              # wqlat110

       Print 1 second summaries, using nanoseconds as units for the histogram, and
              include timestamps on output: # wqlat-NT1

       Print 1 second summaries, 10 times per workqueue:
              # wqlat-W110

       Print 1 second summaries for workqueue nvmet_tcp_wq:
              # wqlat-wnvmet_tcp_wq1

Fields

       usecs  Microsecond range

       nsecs  Nanosecond range

       count  How many works into this range

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

Name

       wqlat - Summarize kernel workqueue latency as a histogram.

Options

       -h Print usage message.

       -T     Include timestamps on output.

       -N     Output histogram in nanoseconds.

       -W     Print a histogram per workqueue.

       -w WQNAME
              Trace this workqueue only

       interval
              Output interval, in seconds.

       count  Number of outputs.

Os

       Linux

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.

Requirements

       CONFIG_BPF and bcc.

See Also

       biolatency

USER COMMANDS                                      2024-01-29                                           wqlat(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

wqlat[-h][-T][-N][-W][-wWQNAME][interval[count]]

See Also