首页/云/可观测性速查/链路追踪基础:Trace 与 Span

链路追踪基础:Trace 与 Span

一次请求的完整路径叫 trace,由若干 span 组成树状结构:每个 span 表示一个工作单元(一次 RPC、一条 SQL、一段计算),带起止时间与父子关系。

可观测性速查云更新于 2026-10-12

一次请求的 span 树

一次请求的 span 树
GET /checkout                        [root span, 812ms]
├── POST /cart/validate     (client)  [42ms]
├── SELECT * FROM orders    (client)  [310ms]
├── POST /payment/charge    (client)  [400ms]
│   └── POST /payment/charge (server) [380ms]   # 下游服务内部
└── render checkout page              [55ms]
Trace同一请求的 span 集合,共享一个 trace_id
Span基本工作单元:名称、起止时间、状态、属性
父子关系parent_span_id 串联调用层级,构成有向树
链路回答“慢在哪一跳、错在哪一环”,与指标(整体趋势)、日志(单点细节)互补。

易错点

  • 只在入口埋点不会有树可看:跨服务与跨进程的每一跳都要产出 span
  • 把链路当审计日志用会失真:它受采样影响,统计口径要看指标而非 trace 数量

数据来源与参考

  • OpenTelemetry 官方文档 · Traces
  • Jaeger 官方文档 · Architecture
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌