尝试为 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();
});
有没有办法重新激活消息接收器上的跨度?