为了账号安全,请及时绑定邮箱和手机立即绑定

跟踪戈朗中的数据存储调用

跟踪戈朗中的数据存储调用

Go
慕侠2389804 2022-10-04 14:28:22
当我使用go111时,我有所有数据存储调用的痕迹(类似于下图)。但是一旦我升级到go115并开始使用 cloud.google.com/go/datastore,我就完全丢失了这些信息。我试图通过添加我的 main 来设置遥测:projectID := os.Getenv("GOOGLE_CLOUD_PROJECT")exporter, err := texporter.NewExporter(texporter.WithProjectID(projectID))if err != nil {    log.Fatalf(bgCtx, "texporter.NewExporter of '%v': %v", projectID, err)}tp := sdktrace.NewTracerProvider(sdktrace.WithBatcher(exporter))defer tp.ForceFlush(bgCtx)otel.SetTracerProvider(tp)但这并没有奏效。我是否缺少任何要告诉数据存储库导出这些调用的内容?谢谢!
查看完整描述

1 回答

?
炎炎设计

TA贡献1808条经验 获得超4个赞

我终于找到了 https://github.com/GoogleCloudPlatform/golang-samples/blob/master/trace/trace_quickstart/main.go


并意识到我错过了以下内容:


trace.RegisterExporter(exporter)

这解决了我的问题。然后我还在本地主机上添加了以下内容


trace.ApplyConfig(trace.Config{DefaultSampler: trace.AlwaysSample()})

要确保跟踪所有请求,请执行以下操作:


httpHandler := &ochttp.Handler{

    // Use the Google Cloud propagation format.

    Propagation: &propagation.HTTPFormat{},

}

if err := http.ListenAndServe(":"+port, httpHandler); err != nil {


查看完整回答
反对 回复 2022-10-04
  • 1 回答
  • 0 关注
  • 46 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信