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

当我使用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)

但这并没有奏效。我是否缺少任何要告诉数据存储库导出这些调用的内容?


谢谢!

http://img4.mukewang.com/633bd2a40001c5a508950667.jpg

慕侠2389804
浏览 62回答 1
1回答

炎炎设计

我终于找到了 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 {
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go