Комментарии 2
(Прим. переводчика) Если вы решите повторить этот процесс, то репозиторий (http:// github.com/FritsHoogland/postgres-bpftrace ) содержит пару неточностей
https://github.com/FritsHoogland/postgres-bpftrace/blob/main/docker/Dockerfile.postgres_17_modified
содержит команду COPY wait_event.patch . на вашей хост машине вряд ли есть этот файл, так что лучше заменить на внутреннее копирование, что то вроде
RUN cp ...
https://github.com/FritsHoogland/postgres-bpftrace/blob/main/query-analyzer.bt содержит некорректные пути (usdt:/usr/lib/postgresql/15/bin/postgres) а мы инсталлируем с префиксом (--prefix=/usr/local/pgsql) так что надо заменить на (usdt:/usr/local/pgsql/bin/postgres)
Ну и RUN git apply wait_event.patch не работает, т.к. код Postgres уже ушёл вперёд,
можно посмотреть что сделано и проделать тоже самое своими руками, для работоспособности кода этой статьи, впрочем, это не критично ;)
(Прим. переводчика) Довольно детальное описание usdt probe можно найти здесь:
https://leezhenghui.github.io/linux/2019/03/05/exploring-usdt-on-linux.html#heading-usdt
Использование bpftrace для трассировки выполнения запросов в postgres