传入 Cloud Run 服务的请求会自动生成可在 Cloud Trace 中查看的跟踪记录。您可以使用这些跟踪记录来识别实现中任何延迟时间问题的来源,而无需在 Cloud Trace 中添加进一步的插桩。系统会针对 Cloud Run 请求自动填充标准 W3C 跟踪记录上下文传播标头 traceparent
。
但是,如果您添加了额外的插桩,您还可以使用 Cloud Trace 来测量请求在实现中的每一层传播所需的时间,例如,完成数据库查询、接收来自 API 请求的结果或运行一些复杂业务逻辑所需的时间。每个特定于层的时间测量都是一个“span”。您可以在 Cloud Trace 中以反映延迟值的瀑布图的形式查看跟踪。
结算费用
Cloud Run 中自动生成的跟踪,无论是采样还是强制跟踪,都不会产生结算费用。但是,如果您使用 Cloud Trace 库并通过将自己的 span 与 Cloud Run 提供的 span 相关联来添加自己的 span,则需要支付 Cloud Trace 的费用。
跟踪记录采样率
Cloud Run 不会对每个请求的跟踪记录进行采样。与 Cloud Run 一起使用时,每个实例的请求采样率最高为每秒 0.1 个请求(或每 10 秒一个请求)。您还可以强制跟踪特定请求。 如果您强制跟踪某个请求,则对于每个实例,系统会以每 0.1 秒(或每秒 10 个请求)的速率对此请求进行采样。
Cloud Run 不支持配置 Cloud Run 采样率。
何时添加插桩
系统会自动生成跟踪记录,无需在服务中执行任何插桩。但在某些情况下,您可能希望向服务添加插桩代码,以充分利用 Cloud Trace 功能。例如,如果您希望执行以下操作,则需要添加插桩:
- 例如,创建自定义跟踪 span 以获取时间数据,了解您的服务需要多长时间才能从 Cloud Translation API 恢复工作。
- 传播跟踪上下文,以便 Cloud Trace 将跨多项服务的请求流显示为单个请求。
如需添加插桩,请参阅对应用进行插桩处理以实现跟踪。请注意,通过对服务进行插桩处理而生成的跟踪记录将产生标准 Cloud Trace 结算费用。
查看跟踪记录
如需了解详情,请参阅关于查看跟踪记录的文档。