intermediate
Trace ID
Прокидывайте trace identity через логи, exemplars метрик, HTTP headers, очереди и async-работу.
Trace ID идентифицирует всю распределённую операцию; span ID — отдельные шаги. W3C Trace Context (`traceparent`, `tracestate`) стандартизирует propagation через HTTP и многие messaging-системы.
traceparent: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01
│ └─ trace-id ────────────────┘ └─ parent span ─┘
└─ version
Логируйте trace ID в каждой structured строке на пути запроса. Метрики могут использовать exemplars на медленные buckets гистограмм.
На интервью: trace ID vs request ID, baggage для бизнес-контекста и propagation при cold start serverless.
Типовые ошибки: новый trace на каждом internal hop; ID не уходят в background jobs; клиент не шлёт traceparent в BFF.
Компромисс — универсальная корреляция против legacy vendor headers.
Чеклист:
- W3C headers где возможно.
- trace ID в контексте logger.
- Продолжение trace через async.
- Контракт headers между командами.