OpenCensus在堆栈驱动程序中未显示Google App Engine上的跟踪

时间:2018-08-27 06:26:31

标签: stackdriver google-cloud-stackdriver google-cloud-sdk google-cloud-trace opencensus

我正在按照Google Cloud的建议使用OpenCensus运行StackDriver Trace(https://cloud.google.com/trace/docs/setup/java)。我的配置在Google App Engine Standard Java 8上运行。我确保在项目上启用了API,使用了初始化代码,并创建了我尝试跟踪的跨度。

我只是使用

创建范围
Span span = tracer.spanBuilder(spanName).startSpan();

然后用

完成
span.end();

这似乎很简单,但是我的自定义跟踪在Google Cloud Trace控制台中均不可见,只有Google跟踪的默认RPC调用。然后,我尝试使用Scopes代替Span,使用和不使用项目名称来初始化StackdriverTraceExporter,但是创建自定义跟踪没有任何结果。

任何有关在哪里看的指导或建议都将不胜感激,因为这是我第一次使用OpenCensus。

1 个答案:

答案 0 :(得分:1)

我发现OpenCensus在刷新其缓存以写入导出器位置之前有5秒的延迟。这意味着要显示痕迹,必须将线程保持至少5秒钟的生命。我遇到的问题是在多线程环境中,线程快死了。

OpenCensus提出了一个机会,使您可以在语法上刷新缓存,这将使开发人员可以在返回响应之前刷新缓存,这应确保可靠地写出span数据。