zipkin跟踪

bxpogfeg  于 2021-06-04  发布在  Kafka
关注(0)|答案(1)|浏览(508)

我需要在一个基于java的服务中实现zipkin跟踪,该服务使用projectreactor-kafka进行React流和非阻塞io操作。我找不到任何支持React式Kafka的勇敢的工具库。
标准Kafka客户机:
https://github.com/openzipkin/brave/tree/master/instrumentation/kafka-clients
不支持Kafka。
有没有一个库或repo可以帮助我对java中的被动kafka进行zipkin跟踪?

fcy6dtqo

fcy6dtqo1#

在我的项目中,我们在发送事件之前手动生成了跨度。
var span=tracing.tracer().nextspanwithparent(req->true,void.class,ctx.get(span.class).context());
span.name(“yourspanname”).start();
返回sendeventpublisher.doonerror(span::error).doonterminate(span::finish);
通过这种方式,我们还将时间跨度链接到发布者生命周期,因为我们在线程之间共享webflux时间跨度时遇到了问题。
基本上,我们创建一个span并将其链接到spring为请求创建的父上下文(要么来自传入的b3http头,要么在不存在时生成)ctx”是这里的订户上下文。
这也意味着告诉sleuth不要为application.properties中的异步操作生成跨度:
spring.sleuth.async.enabled=false

相关问题