solace-spring-cloud icon indicating copy to clipboard operation
solace-spring-cloud copied to clipboard

[SOL-89741] Solace-binder not support instrument in SpringBoot 3.x && Spring Cloud 2022.x

Open desertTown opened this issue 1 year ago • 4 comments

Hi Solace support,

we found that there no related span info send out to solace while we use SpringBoot version 3.x, and SpringCloud Support Marcin Grzehszczak said That's a missing instrumentation in the solace binder. they have changed the way SC function gets instrumented. Function now instruments only the function itself and it's up to the binders to instrument the edges. If you're using Rabbit or Kafka binder these would be the instrumentations in Rabbit or Kafka - those should be automatically turned on by Spring Cloud Stream.

can I confirm if solace-binder support instrument in SpringBoot 3.x?

Thanks

desertTown avatar Apr 28 '23 02:04 desertTown

#227 added support for Spring Boot 3.x & Spring Cloud 2022.x. Does that fix this?

Nephery avatar May 18 '23 14:05 Nephery

I think what @desertTown means is something like this: https://github.com/micrometer-metrics/micrometer-samples/blob/main/kafka-producer/src/main/java/com/example/micrometer/ManualConfiguration.java#L20C28-L20C49 Does the actual Solace Binder support this or not? We have done experiments with micrometer-tracing-bridge-otel and micrometer-tracing-bridge-brave. The tracing information is not propagated with either of them, so no headers are set in the messages. Did we miss something?

MikeR13 avatar Jul 06 '23 14:07 MikeR13

A proper solution would be to instrument Solace Spring Cloud Binder using the Micrometer Observation API. This means to run a Micrometer Observation with a ReceiverContext around the input message listener and Micrometer Observation with a SenderContext around the sending of the message over the message producer. With this in place, the preconfigured DefaultTracingObservationHandler automatically propagates the tracing context through the Solace messages.

For example, the following commit implements the Micrometer observability instrumentation in spring-rabbit (which is at the base of spring-cloud-stream-binder-rabbit): Listener Observability Initial Commit.

dbruegger avatar Jul 20 '23 15:07 dbruegger

#227 added support for Spring Boot 3.x & Spring Cloud 2022.x. Does that fix this? Hi @Nephery The issue has not been fixed as of the latest version of SpringBoot 3.x and Cloud. Do you have any plans to address it and release a new version?

desertTown avatar Jul 25 '23 08:07 desertTown