本页面简要介绍了如何使用 OpenTelemetry 收集轨迹。 如需监控和调试 Spanner 请求,您可以在 Spanner 客户端库中启用轨迹。客户端和端到端跟踪可帮助您监控性能和调试问题。
跟踪记录为客户端的每个请求提供相关信息,例如:
包含客户端发送 RPC 请求的时间以及 客户端收到 RPC 响应,包括 网络和客户端系统
提供客户端相关信息的属性(键值对) 及其配置。
在 span 中包含重要事件的注解。
如需详细了解 span 和属性,请参阅 OpenTelemetry 文档中的 span 和属性。
端到端跟踪
除了客户端跟踪之外,您还可以选择启用端到端跟踪(预览版)。端到端跟踪有助于您了解和调试特定于 Spanner 的延迟问题,例如:
确定延迟时间是由于应用和 Spanner 之间的网络延迟时间造成的,还是延迟时间是在 Spanner 内发生的。
确定应用请求的路由经过的 Google Cloud 区域,以及是否存在跨区域请求。跨区域请求 这通常意味着应用和 Spanner 之间的延迟时间较长。
OpenTelemetry
Spanner 客户端库支持使用 OpenTelemetry API 收集轨迹。OpenTelemetry 是一个开源可观测性框架。 OpenTelemetry 提供各种配置,例如用于 具体后端、采样率和 span 限制。
使用导出器和收集器导出跟踪记录
在配置过程中,您可以将跟踪记录导出到可观测性 后端。大多数可观测性服务提供商都会提供导出工具供您使用, 例如 Trace 导出器。
除了导出器之外,OpenTelemetry 还建议设置收集器。收集器可让您的服务 快速分流数据,并让收集器处理额外的处理工作,例如 重试、批处理和加密收集器与您的应用一起运行。收集器会接收 OLTP 消息、处理消息,并将其导出到可观测性后端。
限制
Spanner 轨迹具有以下限制:
- 轨迹跨度仅适用于 Java 和 Go 客户端库。
- 端到端跟踪记录只能导出到 Cloud Trace。
结算
除了使用 Spanner 之外,跟踪还可能会产生 通过可观测性后端收费。
将跟踪 span 提取到可观测性后端是需要付费的。 例如,如果您使用 Cloud Trace 作为后端,则需要按 Cloud Trace 价格付费。
为了更好地了解结算情况,请先根据您的流量设置较低的轨迹抽样率。
后续步骤
如需设置客户端和端到端跟踪,请参阅使用 OpenTelemetry 设置跟踪记录收集。