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

dbstat - Collect histograms of MySQL/PostgreSQL query latencies.

dbstat [-v] [-p PID [PID ...]] [-m THRESHOLD] [-u] [-i INTERVAL] {mysql,postgres}

This traces queries served by a MySQL or PostgreSQL server, and collects a histogram of query latencies. The histogram is printed at the end of collection, or at specified intervals.

This uses User Statically-Defined Tracing (USDT) probes, a feature added to MySQL and PostgreSQL for DTrace support, but which may not be enabled on a given 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) or PostgreSQL server with USDT probe support (when configuring the build: --enable-dtrace).

-h Print usage message.

Trace this PID. If no PID is specified, the tool will attempt to automatically detect the MySQL or PostgreSQL processes running on the system.
Minimum query latency (duration) to trace, in milliseconds. Default is all queries.
Display query latencies in microseconds (default: milliseconds).
Print summaries (histograms) at this interval, specified in seconds.
{mysql,postgres}
The database engine to trace.

# dbstat mysql
# dbstat postgres -p 408 -m 10
# dbstat postgres -i 3

This adds low-overhead instrumentation to 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.

Sasha Goldshtein

dbslower(8)

2017-02-15 USER COMMANDS