是否可以从 Google Cloud 服务请求跟踪?
Posted
技术标签:
【中文标题】是否可以从 Google Cloud 服务请求跟踪?【英文标题】:Is it possible to request tracing from Google Cloud services? 【发布时间】:2018-10-16 11:28:19 【问题描述】:我在连接到 Google Cloud Endpoints 的 Endpoints Service Proxy (ESP) 后面部署了一个自定义 gRPC 后端。
发送请求 with the X-Cloud-Trace-Context
header set 时,我可以看到 ESP 记录的跨度显示在我的 Stackdriver Trace 仪表板中。
但是,作为处理该请求的一部分,我的服务也会向 Google Cloud KMS 发送请求。我希望 Google Cloud 也自动为我创建这些子请求的跟踪跨度;但是,将 ESP 转发给我的 X-Cloud-Trace-Context
标头附加到发送到 Cloud KMS 的子请求中不会导致这些子请求的任何跨度显示在 Stackdriver Trace 中。用于连接 Cloud KMS 的服务帐号确实启用了“Stackdriver Trace Agent”角色。
是否可以告诉 Google Cloud 服务(例如 Cloud KMS)为当前请求的跟踪上下文自动生成跟踪跨度,或者我是否需要在我的后端代码中手动为这些请求生成跟踪?强>
【问题讨论】:
【参考方案1】:Cloud Trace 目前不会为大多数 GCP 服务的请求生成服务端跟踪,尽管我们知道它是一项很有价值的功能。要跟踪 KMS(或其他服务)消耗了多少延迟,您可以使用 OpenCensus (Github) 或类似方法创建客户端跟踪记录。
Cloud KMS(撰写本文时)不支持 gRPC,但我们正在努力解决。
【讨论】:
感谢您调查此事,蒂姆!以上是关于是否可以从 Google Cloud 服务请求跟踪?的主要内容,如果未能解决你的问题,请参考以下文章
从 Google Cloud Run 服务中的 docker 容器到 Google Cloud SQL 的请求最多需要 2 分钟
将文件从 Google Cloud Storage 添加到云端硬盘