将服务和版本添加到自定义堆栈驱动程序跟踪 api

Adding Service and Version to custom stackdriver trace api

我正在使用 https://github.com/GoogleCloudPlatform/google-cloud-go/tree/master/trace 将自定义跟踪从 GCP 发送到 Stackdriver Trace。所有这些痕迹最终都没有服务或版本。您如何使用跟踪 api 添加该信息?

有没有办法在 trace.NewClient 或跨度中添加 serviceContext?

编辑: 第一个答案有帮助,但 Stackdriver UI 不会显示这些,除非它们是 GAE(或内部应用程序)。我的是一个独立的 Go 应用程序。

stackdriver ui

您可以将这两个标签添加到您正在创建的跨度中:

trace.cloud.google.com/gae/app/module trace.cloud.google.com/gae/app/version

我遇到了完全相同的问题,这是我的代码的相关部分:

    span := tc.SpanFromRequest(r)
    span.SetLabel("trace.cloud.google.com/gae/app/module", "my-service")
    span.SetLabel("trace.cloud.google.com/gae/app/version", "v0.1")
    defer span.Finish()

当我查看跨度详细信息时,仪表板向我显示了正确的服务和版本,但我无法完全按照原始问题中的描述按 service/version 进行过滤。

想法?