如何解决在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)
- 调用路由处理程序时(通过http)创建垃圾邮件
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 举报,一经查实,本站将立刻删除。