分布式追踪和 Service Mesh

构建支持 trace 上下文传播的原生应用

虽然 Istio 代理可以自动发送 span,但要将这些 span 组合成单个 trace,还需要额外信息。原生应用必须在 HTTP header 中传播这些信息,以便代理发送 span 时,后端可以将它们组合成单个 trace。

为此,每个原生应用都必须从每个传入请求中收集 header,并将这些 header 转发到由该传入请求触发的所有传出请求。需要转发哪些 header 取决于所配置的 trace 后端。以下是摘要:

所有原生应用都应转发以下 header:

  • x-request-id:Envoy 专用的 header,用于一致地对日志和 trace 进行采样。
  • traceparenttracestateW3C 标准 header

有关其他可观测性工具,请参阅其文档。