[ 
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)

Reply via email to