Schedule - PGConf.EU 2022
Building a perf-like tool for PostgreSQL
Room: Berlin 2+3
Many DBAs are familiar with linux perf utility, but what if instead of sampling random stack traces we could trace full queries, their execution plans, transactions ? In this talk I will present a new open-source tool, inspired by perf but focused on Postgres.
The tool is built on the linux kernel’s eBPF facility, using trace and perf events, and allows to capture and instrument whole queries down to the individual execution nodes. DBAs and developers interested in profiling could use the tool to capture, without any modification to PostgreSQL itself, interesting information like: IO access, syscalls and specific counters at the query or node level.
We’ll cover what the challenges are when working with EBPF, and many new ideas on how to understand what is happening in a PostgreSQL backend, in the kernel or other libraries that it uses.