Мониторинг производительности сервисов (SPM)
Service Performance Monitoring отображается в Jaeger UI как вкладка "Monitor" и помогает находить интересные trace без необходимости заранее знать имена service или operation. Эта функция агрегирует данные span, чтобы формировать метрики RED (Request, Error, Duration).
Обзор функции UI
Вкладка Monitor предоставляет агрегацию на уровне service и operation для:
- Частоты запросов
- Частоты ошибок
- Длительностей (P95, P75, P50)
Метрика "Impact" вычисляется как произведение latency и частоты запросов, что помогает выявлять operation с высоким бизнес-эффектом, несмотря на различающиеся профили latency.
Архитектура
SpanMetrics Connector принимает span и генерирует метрики, которые экспортируются в backend, совместимый с PromQL. Затем Jaeger Query получает эти предварительно вычисленные метрики. Такой подход требует:
- В pipeline вводится SpanMetrics Connector, который принимает trace data (spans) и генерирует метрики RED.
- Внешнего Metrics Store, поддерживающего запросы PromQL.
- Конфигурации в расширении
jaeger_queryдля ссылки на внешний Metrics Store.

Производные временные ряды
SpanMetrics Connector генерирует два имени метрик:
traces_span_metrics_calls (тип counter)
- Считает общее количество span, включая span с ошибками
- Подсчеты вызовов отделяются от ошибок с помощью метки
status_code - Ошибки определяются как временные ряды с меткой
status_code = "STATUS_CODE_ERROR"
traces_span_metrics_duration (тип histogram)
- Histogram длительностей/latency span
- Создает дополнительные временные ряды:
traces_span_metrics_duration_count: Общее количество точек данных по всем buckettraces_span_metrics_duration_sum: Сумма всех значений точек данныхtraces_span_metrics_duration_bucket: Набор временных рядов для каждого bucket
Расчет оценочного количества временных рядов:
Конфигурация
Включите SpanMetrics Connector в pipeline вашего OpenTelemetry Collector:
Определите удаленное хранилище, совместимое с PromQL, в Jaeger:
Укажите это хранилище метрик в расширении jaeger_query: