You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Pasquale Congiusti (Jira)" <ji...@apache.org> on 2026/04/09 07:08:00 UTC
[jira] [Commented] (CAMEL-23283) OpenTelemetry/Micrometer traces are not correctly structured for JMS-initiated routes
[ https://issues.apache.org/jira/browse/CAMEL-23283?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18072185#comment-18072185 ]
Pasquale Congiusti commented on CAMEL-23283:
--------------------------------------------
Thanks for testing and glad it worked. This is the solution that adheres the component design. If you need any further configuration to simplify its management then we can definitely consider it. We could create a new configuration "includePatterns" to filter in the spans we want to include explicitly and/or "includeProcessorsPatterns" to even fine tune this only for processors. You can create a new Jira issue requesting for it and linking to this one. Feel free to add a mention to me so I can have a look and help on its resolution.
> OpenTelemetry/Micrometer traces are not correctly structured for JMS-initiated routes
> -------------------------------------------------------------------------------------
>
> Key: CAMEL-23283
> URL: https://issues.apache.org/jira/browse/CAMEL-23283
> Project: Camel
> Issue Type: Bug
> Components: camel-tracing
> Affects Versions: 4.15.0, 4.16.0, 4.17.0, 4.18.0, 4.18.1
> Reporter: Bjorn Beskow
> Priority: Major
> Attachments: jms-micrometer-observability.zip
>
>
> When using camel-micrometer-observability, traces and spans are not correctly structured if a traceId and root span is not already present (as a result of OTEL context propagation from the caller, or by a Spring Boot framework component in front of the camel component).
> The effect is twofold:
> * traceId and spanId is not put in the MDC context, and hence not present in any logs created.
> * Nested spans created programmatically using the Tracer are not properly nested (they get their own, unique traceId's).
> This seems to be caused by missing scope management: MicrometerObservabilitySpanAdapter::activate() only calls span.start() but doesn't put the
> span into the tracer's thread-local scope. This means tracer.currentSpan() returns null during route execution, hence the span is invisible to e.g. programmatic child span creation that relies on tracer.currentSpan() to find a parent span. It also becomes invisible for the MDC context.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)