Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upTrace messaging #5
Comments
|
This integration should trace all messaging platforms supported by Spring:
In sleuth messaging is reused for tracing WebSockets ( #25 ) |
|
Reopened, it's not done completely. |
|
Currently, only |
|
if method with |
|
@pavolloffay @malafeev hmmm, that's a bit trickier to handle, as you need to somehow get your hands on the actual JMS Message instance. |
|
Hi @pavolloffay |
|
@gytis would the integration you have recently added (spring messaging) trace amqp/rabbit template? |
|
@pavolloffay I don't know, would have to run a test. It does trace Spring Cloud Stream with RabbitMQ, but not sure about Rabbit template. |
|
@gytis @pavolloffay Looking at io.opentracing.contrib.spring.integration.messaging.OpenTracingChannelInterceptor, it instruments org.springframework.messaging.MessageChannel which is not used by org.springframework.amqp.rabbit.core.RabbitTemplate. I think a "traced" implementation of org.springframework.amqp.core.AmqpTemplate would be needed? |
|
Yes it probably needs a dedicated insturmentation |
|
Hi @gytis and @pavolloffay, I'd like to contribute on the rabbitMq instrumentation. |
|
It should probably go to a separate repo similar to https://github.com/opentracing-contrib/java-jms. opentracing-spring-messaging is an instrumentation for massaging of Spring Integration i.e. ChannelInterceptor. |
|
Thanks @gytis , that's also the way I saw it. |
|
It depends on how complex it is and whether it can be reused in other projects. If it will just a wrapper around JMS it can be here. Generally speaking you can submit a PR here and we will see whether it makes sense to move it somewhere else. |
|
@pavolloffay #126 is ready for review :) |
|
RabbitMQ instrumentation is located here. |
|
Hi @pavolloffay |
|
hi @bygui86, not yet. Would you like to contribute it? |
|
Thanks @pavolloffay, I will try to have a look and understand how to achieve that :) |
|
Hmm; wasn't aware of this issue; this seems related for passing tracing data between Kafka & Spring Cloud: |
|
Looking at JMS/RabbitMQ integrations looks like Kafka also requires some bean post processing hacks :) |
|
Probably I found another way to integrate Spring Cloud Stream Kafka with OpenTracing. |
|
@pavolloffay I found a sort of work around to let everything work with Spring Cloud Stream, Kafka and Jaeger. Unfortunately as you can see from following issues there is a concurrency problem And here is the repo with my example ;) Let me know if you guys have the same exception and if you managed to solve it :) |
|
@bygui86 thanks, I will have a look at it |
|
@bygui86 does kafka tracing work via spring stream without any changes in this repo? Do we need to provide some auto configs here? |
|
@pavolloffay I'm still working on that side. As you can see for example in the class SinkTracingConfig, I had to redefine some beans from spring-kafka (DefaultKafkaConsumerFactory, ConcurrentKafkaListenerContainerFactory) and from opentracing-contrib-kafka (TracingConsumerFactory). |
|
@pavolloffay any idea when KafkaTemplate will be supported? |
|
@pavolloffay Can support for KafkaTemplate be assumed done with the PR referred to, above? |
|
Per #280 (comment) yes. I am marking it as done. |


Trace
org.springframework.messaging.MessageChannel