Почему 5 секунд в браузере превращаются в 8 часов поиска проблемы?
История одного инцидента
14:32 — алерт: P95 /checkout вырос до 5 секунд. Поддержка тонет в тикетах, деньги утекают. Архитектура — 12 микросервисов, пара очередей и сторонние API.
Как чувствуется день без трассировки:
- 14:45 — фронт выглядит норм: React отдает страницу за 50ms.
- 15:10 — API Gateway логирует 200ms, подозрения падают на бэкенд.
- 15:40 — Auth Service чист, подозрение уходит дальше.
- 16:00 — user-service показывает «4.5s» в одном логе, но почему? В БД все быстро, в кэше тоже.
- 18:30 — гипотезы сменяют друг друга: сеть? база? страйп? На расследование ушло больше времени, чем на фиксы.
Чувство: вы топчетесь на месте, собирая картинку из разрозненных логов.
Точка перелома: открываем трейсы
Кто-то предлагает: «Давайте глянем Jaeger». Открывается трейс проблемного запроса, и за 30 секунд все пазлы сходятся.

Что видно сразу:
- Общая длительность: 4.8s, самый длинный span — user-service.
- Внутри user-service — линейка из 50 SQL-запросов по ~5ms каждый.
- Остальные сервисы занимают сотни миллисекунд и явно не виноваты.
Результат: делаем batch-запрос, выкатываем фикc — и на следующий день график latency зеленеет. Расследование заняло минуты, не часы.
Что такое distributed tracing? (простыми словами)
Distributed tracing — это GPS-трекер для вашего запроса. Он показывает:
- Где побывал запрос (через какие сервисы и очереди).
- Сколько времени провел в каждом месте.
- Что пошло не так и где именно.
Каждый отрезок (span) знает своего родителя, временные метки и контекст (user.id, order.id). Поэтому причина замедления видна сразу.
Как это выглядит в Jaeger UI:
Ключевой insight: Трейс показывает, что user-service делает 50 одинаковых SELECT запросов вместо одного batch-запроса. Это классическая проблема N+1 queries.
Узнаете себя?
Трассировка особенно нужна, если:
- 🔍 Тратите часы на поиск проблемы в 3+ сервисах.
- 📧 Фоновые задачи (письма, уведомления) иногда «зависают» без объяснения причин.
- 💳 Сторонние API (Stripe, Twilio) съедают непонятно сколько времени.
- 🐌 Уже ловили N+1, full table scan или длинные ретраи и хотите видеть их сразу.
Что дальше
В следующей главе — минимум теории, максимум практики: поднимем простой пример с двумя сервисами и за 15 минут соберем первый трейс в Jaeger. Никаких схем коллекторов и стратегий сэмплирования — только живой результат в UI.
Поехали? Первый трейс за 15 минут — от слов к делу.
Дополнительные материалы
- Google Dapper Paper (2010) — базовая идея, на которой выросла индустрия.
- Distributed Tracing — The Most Actionable Observability — короткое и прикладное видео.
- Jaeger HotROD Demo — идеальный источник реальных скриншотов для этого урока.