Наткнулся на отличный инструмент для работы с трейсингом - Traceway. В статье по ссылке автор рассматривает разные способы трассировки времени выполнения запросов к базе данных и выделяет три подхода к решению этой задачи. Первый - ручное добавление спанов в каждую функцию репозитория: это самый простой способ, но он сильно загромождает код. Второй - обернуть экземпляры базы данных и транзакций в собственные структуры. Третий - полностью заморочиться и сделать свой драйвер базы данных со всеми обёртками внутри: это полностью скрывает логику трассировки, но и реализовать такой подход сложнее всего. Сам автор отдаёт предпочтение второму методу за его прозрачность и лёгкость внедрения, а в конце рассказывает про пакет tracewaydb, который был написан именно по такому принципу.
А еще почитайте остальные статьи про Traceway, они тоже неплохие
25.02.2026
Похожее
06.03.2026
Кто отменил контекст?
В Go стандартные ошибки context canceled и context deadline exceeded - это те ещ...
05.03.2026
Аллокаторы
Автор продолжает цикл статей про рантайм Go. Теперь на очереде разбор аллокаторо...
04.03.2026
eBPF и XDP
Еще одна неплохая статья по eBPF Аббревиатура eBPF расшифровывается как exten...
03.03.2026
Уменьшаем бинарник
Инженеры Datadog рассказали, как всего за полгода им удалось "похудеть". Они уме...