opencensus - 顯式上下文管理

哈哈

我正在我的(異步)JVM 應用程序中實施 opencensus 跟踪。

但是我不明白上下文是如何傳遞的。有時它似乎工作正常,有時來自不同請求的痕跡無緣無故地嵌套。

我也有這個警告和堆棧跟踪一起出現在日誌中: SEVERE: Context was not attached when detaching

如何顯式創建根跨度,以及如何將父/上下文顯式傳遞給子跨度?

波格丹線

在 OpenCensus 中,我們有一個獨立於“跨度”或“標籤”的上下文概念。它代表一個隨請求傳播的 Map(它作為線程本地實現,因此同步調用會自動傳播)。對於僅用於傳播的回調/異步調用(我們使用 io.grpc.Context 作為上下文的實現),請使用此處定義的包裝函數https://github.com/grpc/grpc-java/blob/master/context/ src/main/java/io/grpc/Context.java#L589這將確保僅上下文傳播,因此上下文映射中的條目將在不同線程之間傳播。

如果要在一個線程中啟動 Span 並在另一個線程中結束它,請使用withSpan跟踪器https://www.javadoc.io/doc/io.opencensus/opencensus-api/0.17.0 中方法

class MyClass {
  private static Tracer tracer = Tracing.getTracer();
  void handleRequest(Executor executor) {
    Span span = tracer.spanBuilder("MyRunnableSpan").startSpan();
    // do some work before scheduling the async
    executor.execute(Context.wrap(tracer.withSpan(span, new Runnable() {
      @Override      
      public void run() {
        try {
          sendResult();
        } finally {
          span.end();
        }
      }
    })));
  }
}

這裡有更多關於這個的信息https://github.com/census-instrumentation/opencensus-specs/blob/master/trace/Span.md#span-creation

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

上下文管理器反向

来自分类Dev

异步上下文管理器

来自分类Dev

突变隐式“上下文”参数

来自分类Dev

使用 Python 在 Google Kubernetes Engine 中的 OpenCensus 错误

来自分类Dev

isGooglePlayServicesAvailable的上下文(上下文上下文)

来自分类Dev

如何__进入上下文管理器?

来自分类Dev

上下文管理器和多处理池

来自分类Dev

是否可以访问封闭的上下文管理器?

来自分类Dev

在python中调用上下文管理器

来自分类Dev

Python可迭代和上下文管理器

来自分类Dev

类实例内的上下文管理器

来自分类Dev

Python:标准函数和上下文管理器?

来自分类Dev

上下文管理器来验证数据

来自分类Dev

没有收益的上下文管理器

来自分类Dev

Python上下文管理器无法清除

来自分类Dev

测量时间的Python上下文管理器

来自分类Dev

处理上下文和状态管理

来自分类Dev

在上下文管理器中处理异常

来自分类Dev

Java-管理上下文路径

来自分类Dev

XSockets.Net-如何管理NHibernate会话上下文

来自分类Dev

上下文管理器来验证数据

来自分类Dev

在python中调用上下文管理器

来自分类Dev

受管理对象上下文是事务日志吗?

来自分类Dev

模拟上下文管理器中使用的类

来自分类Dev

python上下文管理器不传递异常

来自分类Dev

CoreData - 在子上下文中管理文件引用

来自分类Dev

保持 Django 视图干净的上下文管理器?

来自分类Dev

ApplicationLoader内部是否有隐式执行上下文

来自分类Dev

在Java EE中隐式关闭上下文