在Vert.x中将httpSender用于Jaeger

问题描述

我正在使用 Vert.X 3.9 Java 8 ,并且我正在尝试通过 Jaeger实现 Opentrace 。 em>。

我在发送跨度方法时遇到问题。已经有一个 jaeger-collector 用于其他服务(不使用Vert.X),但是由于某种原因,它没有收到来自Vert.X应用程序的跟踪。到目前为止,尽管我已经设置了环境变量JAEGER_ENDPOINT,但我注意到发件人被设置为 UdpSender 而不是 httpSender

这是Java代码


    private Tracer tracer;

    // Method invoked before router creation
    private void createTracer()
    {
        Configuration configuration = Configuration.fromEnv();
        this.tracer = configuration.getTracer();
    }

    //handler for vertx router
    void testTraceRequest(RoutingContext routingContext)
    {
        Span span = this.tracer.buildSpan("test-trace").start();
        routingContext.response().end("Helo Vert.x!");
        span.finish();        
    }

代码创建一些日志,以显示跟踪器和垃圾邮件的创建:

  • 创建轨迹:
INFO  com.uber.jaeger.Configuration - Initialized tracer=Tracer(version=Java-0.25.0,serviceName=TERTIOAPI,reporter=CompositeReporter(reporters=[RemoteReporter(queueProcessor=RemoteReporter.QueueProcessor(open=true),sender=UdpSender(udpTransport=ThriftUdpTransport(socket=java.net.DatagramSocket@55c10031,receiveBuf=null,receiveOffSet=-1,receiveLength=0)),closeEnqueueTimeout=1000),LoggingReporter(logger=Logger[com.uber.jaeger.reporters.LoggingReporter])]),sampler=ProbabilisticSampler(positiveSamplingBoundary=9223372036854775807,negativeSamplingBoundary=-9223372036854775808,samplingRate=1.0,tags={sampler.type=probabilistic,sampler.param=1.0}),ipv4=-1407381947,tags={hostname=HCOLOP-TF-L,jaeger.version=Java-0.25.0,ip=172.29.14.69},zipkinSharedRpcSpan=false,baggageSetter=com.uber.jaeger.baggage.BaggageSetter@1935ba28,expandExceptionLogs=false)

关于docs,发件人应该是httpSender,但这是udp

sender = UdpSender(udpTransport = ThriftUdpTransport(socket=java.net.DatagramSocket@55c10031,receiveBuf = null,receiveOffSet = -1,receiveLength = 0)),closeEnqueueTimeout = 1000)

23:56:22.765 [vert.x-eventloop-thread-0] INFO c.u.jaeger.reporters.LoggingReporter - Span reported: 74c251bc635c0a83:74c251bc635c0a83:0:1 - test-trace
  • 这些是ENV值
{
    "env": {
        "JAEGER_ENDPOINT": "http://172.22.91.208:31886/api/traces","JAEGER_SERVICE_NAME": "TERTIOAPI","JAEGER_PROPAGATION": "b3","JAEGER_SAMPLER_TYPE": "probabilistic","JAEGER_REPORTER_LOG_SPANS": "true","JAEGER_SAMPLER_ParaM": 1
    }
}

这些是我正在使用的依赖项:

dependencies {

   ...

  implementation "io.vertx:vertx-web:$vertxVersion"
  compile 'io.vertx:vertx-config:3.8.0'
  compile 'io.vertx:vertx-web-client:3.8.5'
  compile 'io.vertx:vertx-micrometer-metrics:3.9.1'
  compile 'io.micrometer:micrometer-registry-prometheus:1.5.2'
  compile "com.uber.jaeger:jaeger-core:0.25.0"
  compile "com.uber.jaeger:jaeger-micrometer:0.25.0"

  ...

}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)