Неполные трейсы
Трейс считается неполным, если система не может построить полное дерево спанов. Это происходит, когда отсутствует корневой спан или когда у некоторых спанов в дереве отсутствуют родительские спаны.
Причины появления неполных трейсов
Отсутствие корневого спана
Корневой спан — это спан без родителя, с которого начинается трейс. Если корневой спан не был отправлен в систему, не прошел валидацию или сервис, создающий корневой спан, не инструментирован, трейс отображается как неполный.
Отсутствие родительских спанов
Если у дочернего спана отсутствует родительский спан в дереве, система не может корректно связать спаны. Это происходит при ошибках в propagation контекста между сервисами или когда родительский спан был отклонен при валидации.
Превышение лимита спанов
Интерфейс отображает до 100 000 спанов в одном трейсе. Если трейс содержит больше спанов, часть из них не будет показана, и трейс может выглядеть неполным.
Диагностика проблем
Проверка отправки данных
- Убедитесь, что все сервисы в цепочке вызовов инструментированы и отправляют данные.
- Проверьте логи агента (OpenTelemetry Collector или Unified Agent) на наличие ошибок отправки.
- Проверьте метрики доставки трейсов на сервисном дашборде "Monium – Traces overview".
Проверка валидации
Спаны могут быть отклонены при валидации, если:
- Отсутствуют обязательные поля (
trace_id,span_id, временные метки и т.д.). - Значения полей не соответствуют формату (например, некорректный формат
trace_id). - Размер спана или его атрибутов превышают допустимый лимит.
Подробнее о правилах валидации см. Ограничения.
Проверка propagation контекста
Убедитесь, что контекст трейса корректно передается между сервисами:
- При HTTP-взаимодействиях используются заголовки
traceparentиtracestate. - При асинхронных операциях контекст передается через метаданные сообщений.
- Все сервисы используют совместимые версии OpenTelemetry SDK.