Нужно передавать trace context между сервисами и создавать дочерние spans с корректной связью с родительским вызовом.
Что нужно сделать с запросами между микросервисами, чтобы правильно собрать честный трейс (вложенную цепочку вызовов)?
Нужно передавать trace context между сервисами и создавать дочерние spans с корректной связью с родительским вызовом.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Нужно передавать trace context между сервисами и создавать дочерние spans с корректной связью с родительским вызовом.
Для HTTP обычно используют W3C traceparent/tracestate; для очередей контекст передают в metadata сообщения. Инструментируйте клиент и сервер, сохраните контекст при async-переходах и согласуйте sampling. Один correlation ID не заменяет структуру spans; секреты и персональные данные в baggage не помещают.
Источник: opentelemetry.io.