DOKK / manpages / debian 10 / bpfcc-tools / mysqld_qslower-bpfcc.8.en
mysqld_qslower(8) System Manager's Manual mysqld_qslower(8)

mysqld_qslower - Trace MySQL server queries slower than a threshold.

mysqld_qslower PID [min_ms]

This traces queries served by a MySQL server, and prints those that exceed a custom latency (query duration) threshold. By default, a minimum threshold of 1 millisecond is used. If a threshold of 0 is used, all queries are printed.

This uses User Statically-Defined Tracing (USDT) probes, a feature added to MySQL for DTrace support, but which may not be enabled on a given MySQL installation. See requirements.

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

CONFIG_BPF, bcc, and MySQL server with USDT probe support (when configuring the build: -DENABLE_DTRACE=1).

PID Trace this mysqld PID.

Minimum query latency (duration) to trace, in milliseconds. Default is 1 ms.

# mysqld_qslower 1981
# mysqld_qslower 1981 10

Time of query start, in seconds.
Process ID of the traced server.
Milliseconds for the query, from start to end.
Query string, truncated to 128 characters.

This adds low-overhead instrumentation to MySQL queries, and only emits output data from kernel to user-level if they query exceeds the threshold. If the server query rate is less than 1,000/sec, the overhead is expected to be negligible. If the query rate is higher, test to gauge overhead.

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.

Linux

Unstable - in development.

Brendan Gregg

biosnoop(8)

2016-08-01 USER COMMANDS