0

尝试为 opentracing Tracer 设置 java-vertx-web,按照自述文件在https://github.com/opentracing-contrib/java-vertx-web完成配置

TracingHandler从使用instart()方法 设置的 routingContext 重新激活 spantracer.activateSpan(CustomTracingHandler.serverSpan(routingContext));

此时,路由处理程序中的所有日志和跟踪都可以正常工作。

当在事件总线上发送消息时,跨度不活动的问题会重新出现。

尝试添加拦截器以注入标头,但跨度仍然不再处于活动状态。

vertx.eventBus().addOutboundInterceptor(message -> {
        tracer.inject(TracingHandler.serverSpanContext(routingContext),
              Builtin.TEXT_MAP, new TextMapInjectAdapter(new HashMap<>()));
          message.next();
        });
 vertx.eventBus().addInboundInterceptor(
    message -> {
      tracer.extract(
          Builtin.TEXT_MAP, new TextMapExtractAdapter(new HashMap<>()));
      message.next();
    });

有没有办法重新激活消息接收器上的跨度?

4

0 回答 0