服务性能监控(SPM)
服务性能监控在 Jaeger UI 中以 "Monitor" 选项卡的形式呈现,可在无需预先了解 service 或 operation 名称的情况下帮助识别有价值的 traces。该功能会聚合 span 数据以生成 RED(Request、Error、Duration)指标。
UI 功能概览
Monitor 选项卡提供按 service 级别和 operation 级别聚合的以下内容:
- 请求速率
- 错误速率
- 时长(P95、P75、P50)
"Impact" 指标按延迟与请求速率的乘积计算,有助于识别尽管延迟特征不同但业务影响较高的 operation。
架构
SpanMetrics Connector 接收 spans 并生成导出到兼容 PromQL 的后端的指标。随后 Jaeger Query 检索这些预计算指标。此方法需要:
- 在接收 trace 数据(spans)并生成 RED 指标的 pipeline 中引入 SpanMetrics Connector。
- 一个支持 PromQL 查询的外部 Metrics Store。
- 在
jaeger_queryextension 中进行配置,以引用外部 Metrics Store。

派生时间序列
SpanMetrics Connector 会生成两个 metric 名称:
traces_span_metrics_calls(counter 类型)
- 统计 span 总数,包括错误 spans
- 通过
status_codelabel 区分调用计数与错误计数 - 将
status_code = "STATUS_CODE_ERROR"的 time series 识别为错误
traces_span_metrics_duration(histogram 类型)
- span 持续时间/延迟的 histogram
- 生成额外的 time series:
traces_span_metrics_duration_count:跨各个 bucket 的数据点总数traces_span_metrics_duration_sum:所有数据点值的总和traces_span_metrics_duration_bucket:各个 bucket 的 time series 集合
估算的 time series 计算方式:
配置
在你的 OpenTelemetry Collector pipeline 中启用 SpanMetrics Connector:
在 Jaeger 中定义一个远程的兼容 PromQL 的存储:
在 jaeger_query extension 中引用该 metrics store: