我正在按照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。
答案 0 :(得分:1)
我发现OpenCensus在刷新其缓存以写入导出器位置之前有5秒的延迟。这意味着要显示痕迹,必须将线程保持至少5秒钟的生命。我遇到的问题是在多线程环境中,线程快死了。
OpenCensus提出了一个机会,使您可以在语法上刷新缓存,这将使开发人员可以在返回响应之前刷新缓存,这应确保可靠地写出span数据。