Croway opened a new pull request, #22544:
URL: https://github.com/apache/camel/pull/22544

   ## Summary
   - `AbstractMessagingSpanDecorator` used the default 
`CamelHeadersSpanContextPropagationExtractor` which only handles 
`String`-valued headers. Messaging transports like Kafka deliver headers as 
`byte[]`, so trace context headers (e.g. `traceparent`) were silently dropped, 
breaking distributed trace propagation across services.
   - Add `CamelMessagingHeadersSpanContextPropagationExtractor` that handles 
both `String` and `byte[]` headers, and override `getExtractor()` in 
`AbstractMessagingSpanDecorator` so all messaging components (Kafka, AMQP, 
SJMS, STOMP, Spring RabbitMQ, Azure Service Bus, etc.) benefit from the fix.
   - The issue was discovered while upgrading the camel-spring-boot 
opentelemetry example from `camel-opentelemetry` to `camel-opentelemetry2`.
   
   ## Test plan
   - [x] 91 camel-telemetry tests pass (84 existing + 7 new for the messaging 
extractor)
   - [x] Verified with the opentelemetry Spring Boot example: async Kafka 
traces now show 20 spans across all 4 services in a single trace (was broken 
into 7 separate traces before the fix)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to