[ https://issues.apache.org/jira/browse/CAMEL-21472?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17902775#comment-17902775 ]
Thomas Gantenbein commented on CAMEL-21472: ------------------------------------------- If you remove MDC support, doesn't that defeat one of the main purposes of tracing, i.e. the ability to trace a particular request over several services? If I don't have the traceId somewhere in the logs, it's hard to find a particular trace. Moreover, unless the option `traceProcessors` is true, the context is not passed to other threads, so even if logs were sent via a [Opentelemetry logs bridge|https://opentelemetry.io/docs/specs/otel/logs/#new-first-party-application-logs] instead of using MDC, I doubt that this would work, since that bridge would have no knowledge about the current context either if a route was using a new thread in the middle of its execution (for example after a delay EIP). Maybe if tracing is enabled, every processor should _always_ be intercepted so that context can be passed? [https://github.com/apache/camel/blob/main/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetryTracingStrategy.java#L45] almost has what may be needed, but maybe this should be invoked per default so that every processor would be wrapped at least in a [PropagateContext|https://github.com/apache/camel/blob/main/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetryTracingStrategy.java#L52]? > Opentelemetry is using the same traceId when exchange is fired from file or > timer component > ------------------------------------------------------------------------------------------- > > Key: CAMEL-21472 > URL: https://issues.apache.org/jira/browse/CAMEL-21472 > Project: Camel > Issue Type: Bug > Components: camel-opentelemetry > Affects Versions: 4.8.1 > Reporter: Thomas Gantenbein > Assignee: Pasquale Congiusti > Priority: Major > Fix For: 4.8.3, 4.10.0 > > Attachments: image-2024-11-26-09-59-35-555.png, > image-2024-11-29-17-04-16-581.png, image-2024-11-29-17-06-26-116.png, > image-2024-11-29-17-06-42-860.png, image-2024-11-29-17-12-49-768.png, > image-2024-11-29-17-12-58-036.png > > > *Problem* > When using a consumer like {{timer}} or {{{}file{}}}, the traceId remains the > same for all messages. When using a consumer like netty (or, I assume, any > other http/tcp-based consumer), every call gets its own traceId as expected. > See also > https://camel.zulipchat.com/#narrow/channel/257298-camel/topic/Same.20OTEL.20trace.20for.20all.20messages.20into.20IBM.20MQ > *Reproducer* > [https://github.com/thomas-gantenbein-tga/camel-opentelemetry/tree/main] > [~pcongiusti], thanks for your answer on Zulip Chat. Let me know if I should > further explain or minimize that reproducer. -- This message was sent by Atlassian Jira (v8.20.10#820010)