You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Regardless of internal differences both binders allow to declare functional reactive consumers. Unfortunately, Observability doesn't work the same way in both cases.
After applying all info I've found about Observability in the docs, I reached the point where kafka-binder works as expected:
In case of kafka-binder-reactive traceparent is received and decoded as one span is visible in Jaeger (1st kafka-stream-reactive-client hello.in receive span visible on the screenshot above).
All the rest of spans has a new TraceID:
Both consumers are receiving the same message, with the same traceparent header. Both share everything but binder and consumer group.
Describe the issue
Regardless of internal differences both binders allow to declare functional reactive consumers. Unfortunately, Observability doesn't work the same way in both cases.
After applying all info I've found about Observability in the docs, I reached the point where kafka-binder works as expected:
In case of kafka-binder-reactive traceparent is received and decoded as one span is visible in Jaeger (1st kafka-stream-reactive-client hello.in receive span visible on the screenshot above).
All the rest of spans has a new TraceID:
Both consumers are receiving the same message, with the same traceparent header. Both share everything but binder and consumer group.
To Reproduce
Small repo I created to reproduce:
https://github.com/mzalewski82/spring-cloud-stream-tracing
It contains 2 apps.
I've also attached a docker compose file to easily setup local env.
Jaeger: http://localhost:16686
Version of the framework
I'm using Spring Boot 3.2.3, Spring Cloud 2023.0.0.
Expected behavior
Tracing works the same way regardless of Kafka binder used.
The text was updated successfully, but these errors were encountered: