您可以使用 OpenCensus 为 Go 应用启用 Cloud Trace。OpenCensus 是一组用于收集兼容多个后端的跟踪记录数据和指标数据的插桩库。有关适用于 Go 的 OpenCensus 的最新详情以及其他文档和示例,请参阅 opencensus-go
。
安装软件包
检索 OpenCensus 跟踪记录软件包:
go get -u go.opencensus.io/trace
配置 Stackdriver 导出器
如需导出收集的 Trace 数据,请使用 Stackdriver 导出器:
如果您在 Google Cloud 基础架构上运行,则无需将 ProjectID
字段设置为 Google Cloud 项目 ID,因为 Go 客户端库会自动从 Google Cloud 元数据服务器收集此数据。
如果您未在 Google Cloud 基础架构上运行,则必须将 ProjectID
字段设置为您的 Google Cloud 项目 ID。示例代码中使用了环境变量,并且应用已经过修改,可以读取此变量。
配置与 Cloud Logging 的集成
如需了解如何将 Cloud Trace 数据发送到 Cloud Logging,请参阅与 Cloud Logging 的集成。
配置您的平台
您可以在 Google Cloud 和其他平台上使用 Cloud Trace。
在 Google Cloud 上运行
当您的应用在 Google Cloud 上运行时,您无需向客户端库提供服务帐号形式的身份验证凭据。但是,您需要确保 Google Cloud Platform 已启用 Cloud Trace API 访问权限范围。
对于以下配置,默认的访问权限范围设置会启用 Cloud Trace API:
- App Engine 柔性环境
App Engine 标准环境
Google Kubernetes Engine (GKE)
Compute Engine
如果您使用自定义访问权限范围,则必须确保已启用 Cloud Trace API 访问权限范围。对于 gcloud
用户,请使用 --scopes
标志指定访问权限范围,并添加 trace.append
Cloud Trace API 访问权限范围。例如,如需创建仅启用了 Cloud Trace API 的 GKE 集群,请执行以下操作:
gcloud container clusters create example-cluster-name --scopes=https://www.googleapis.com/auth/trace.append
在本地和其他位置运行
如果您的应用在 Google Cloud 之外运行,则必须向客户端库提供服务帐号形式的身份验证凭据。该服务帐号必须包含 Cloud Trace Agent 角色。如需查看说明,请参阅创建服务帐号。
Google Cloud 客户端库会使用应用默认凭据 (ADC) 查找应用的凭据。您可以通过设置 GOOGLE_APPLICATION_CREDENTIALS
环境变量来提供这些凭据:
Linux/macOS
export GOOGLE_APPLICATION_CREDENTIALS=path-to-your-service-accounts-private-key
Windows
set GOOGLE_APPLICATION_CREDENTIALS=path-to-your-service-accounts-private-key
PowerShell:
$env:GOOGLE_APPLICATION_CREDENTIALS="path-to-your-service-accounts-private-key"
适用于 Go 的 Trace 应用示例
查看跟踪记录
部署后,您可以在 Cloud Console 跟踪记录查看器中查看跟踪记录。
问题排查
如需了解如何排查 Cloud Trace 的问题,请转到“问题排查”页面。
资源
- OpenCensus
- GitHub:
census-instrumentation/opencensus-go
- Trace API V1 软件包
- Trace API V2 软件包
- 源代码
- GitHub 问题跟踪器
- Stack Overflow