Distributed Tracing (распределённая трассировка)

Distributed tracing (распределённая трассировка) — способ проследить один запрос по мере того, как он проходит через все сервисы, очереди и базы данных, которые его обрабатывают в распределённой или микросервисной системе. Каждый шаг прикрепляет общий trace ID и записывает хронометрированный «span», а инструмент трассировки сшивает эти спаны в единую сквозную временную шкалу, показывающую, куда именно ушёл запрос и сколько занял каждый переход. В монолите stack trace говорит, что произошло; как только вы разбиваете систему на много сервисов, ни один отдельный лог этого не даёт, и именно распределённая трассировка восстанавливает весь путь. Это один из трёх столпов observability наряду с логами и метриками, а OpenTelemetry — набирающий силу вендоронезависимый стандарт для генерации трасс. Для AI/SaaS-разработчиков это способ ответить на вопрос «почему этот вызов API медленный?», когда ответ зарыт на три сервиса вглубь — трасса показывает тот единственный span, который занял 800 мс. Практическая заметка: инструментируйте OpenTelemetry рано и пробрасывайте trace context через каждую границу сервиса, потому что трасса с разорванной цепочкой рассказывает лишь половину истории.

Похожие термины

Ещё термины: Инструменты разработки