现在我在 GAE 上部署了一个 Golang 应用程序,带有堆栈驱动程序跟踪。关于stackdriver Trace,为了获取自定义跨度数据,我确实设置了我的代码,比如
exporter, err := stackdriver.NewExporter(stackdriver.Options{
ProjectID: os.Getenv("GOOGLE_CLOUD_PROJECT"),
})
if err != nil {
log.Fatal(err)
}
trace.RegisterExporter(exporter)
client := &http.Client{
Transport: &ochttp.Transport{
// Use Google Cloud propagation format.
Propagation: &propagation.HTTPFormat{},
},
}
参考。https://cloud.google.com/trace/docs/setup/go
在 GAE 上,我成功地在我的 GCP 控制台上查看了跟踪。
但是,我不想在我的本地开发环境(我正在使用 docker)上跟踪这些日志。目前,我尝试在 docker 上运行我的应用程序,出现Span.Export()
可能从Span.End()
.
所以,我想知道是否有人知道在特定环境(在我的情况下,在 docker 上)禁用堆栈驱动程序跟踪的方法。
否则,我应该检查跟踪配置的条件,如下所示?
if trace.projectId != "" {
ctx := reque.Context()
_, span := trace.StartSpan(ctx,"Span blahblah")
defer span.End()
}