我正在使用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。
我发现 OpenCensus 在刷新缓存以写入导出器位置之前有 5 秒的延迟。 这意味着要显示跟踪,您必须使线程保持活动状态至少 5 秒。 我遇到的问题是在多线程环境中,线程死得太快了。
OpenCensus提出了一个机会,这将允许您在语法上刷新缓存,这将允许开发人员在返回响应之前刷新缓存,这应该确保可靠地写出跨度数据。