首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >项目反应堆Kafka的Zipkin追踪

项目反应堆Kafka的Zipkin追踪
EN

Stack Overflow用户
提问于 2019-07-24 18:00:49
回答 1查看 462关注 0票数 1

我需要在一个基于java的服务中实现Zipkin跟踪,该服务使用Project Reactor Kafka进行反应式流和非阻塞IO操作。我找不到任何支持reactive-Kafka的勇敢仪表库。

标准的Kafka客户端勇敢插装:

https://github.com/openzipkin/brave/tree/master/instrumentation/kafka-clients

不支持Reactive-Kafka。

有没有一个库或repo可以帮助我在java中为reactive-Kafka进行Zipkin跟踪?

EN

回答 1

Stack Overflow用户

发布于 2020-04-16 18:11:53

在我的项目中,我们在发送事件之前手动生成了跨度。

请求变量

= tracing.tracer().nextSpanWithParent(req -> true,Void.class,ctx.get(Span.class).context());

span.name("yourSpanName").start();

返回sendEventPublisher.doOnError(span::error).doOnTerminate(span::finish);

通过这种方式,我们还将跨度链接到发布者生命周期,因为我们在线程之间共享跨度时遇到了问题。

基本上,我们创建一个跨度,并将其链接到Spring为请求创建的父上下文(从传入的B3 HTTP header创建,或者在没有的情况下生成)。"ctx“是这里的订阅者上下文。

这也意味着告诉侦探不要为application.properties中的异步操作生成跨度:

spring.sleuth.async.enabled=false

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57180252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档