This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch fix/CAMEL-23709
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/fix/CAMEL-23709 by this push:
     new e8fc5fad7552 CAMEL-23709: Add upgrade guide note for reduced span 
verbosity
e8fc5fad7552 is described below

commit e8fc5fad7552e650b28c1f76b70307cb4992a951
Author: Claus Ibsen <[email protected]>
AuthorDate: Mon Jun 8 10:49:19 2026 +0200

    CAMEL-23709: Add upgrade guide note for reduced span verbosity
    
    Co-Authored-By: Claude <[email protected]>
    Signed-off-by: Claus Ibsen <[email protected]>
---
 .../ROOT/pages/camel-4x-upgrade-guide-4_21.adoc       | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git 
a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_21.adoc 
b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_21.adoc
index 5dc446b2d84c..953e931bf83e 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_21.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_21.adoc
@@ -485,6 +485,25 @@ extend from:
 - `AbstractHttpSpanDecorator` (returns `CLIENT` for `EVENT_SENT`, `SERVER` for 
`EVENT_RECEIVED`)
 - `AbstractMessagingSpanDecorator` (returns `PRODUCER` for `EVENT_SENT`, 
`CONSUMER` for `EVENT_RECEIVED`)
 
+==== Reduced span verbosity for endpoint-sending processors
+
+Processors that send to an endpoint (`to`, `toD`, `wireTap`, `enrich`) no 
longer emit a redundant
+processor span (`EVENT_PROCESS`) wrapping the endpoint event span 
(`EVENT_SENT`). Previously these
+EIPs produced two spans in a parent-child relationship — the processor span 
added no value because
+the event span already captures the destination, timing, and status.
+
+A new `org.apache.camel.EndpointSending` marker interface in `camel-api` 
identifies processors that
+will produce their own endpoint span via `ExchangeSendingEvent`. The telemetry 
intercept strategy
+skips creating a processor span for these processors.
+
+This reduces span tree depth and total span count for routes that use `to`, 
`toD`, `wireTap`, or
+`enrich`. Non-send EIPs (`log`, `bean`, `split`, `aggregate`, etc.) continue 
to produce processor
+spans as before.
+
+If you have custom telemetry code that relies on the processor span existing 
as a parent of the
+endpoint span for `to`, `toD`, `wireTap`, or `enrich`, you will need to adjust 
your span hierarchy
+expectations.
+
 === camel-opentelemetry2
 
 In order to prevent a potential leak when running asynchronous components we 
need to rethink the implementation details of `camel-opentelemetry2` and remove 
the  `Scope` wrapping that, when asynchronous, was opening the `Scope` in a 
thread and closing in another (what we had called "dirty" context). We are now 
removing this wrapping and moving this part exclusively in the custom Camel 
`Processors`. Here Camel will take care to open the Opentelemetry scope and 
close it within the same thread.

Reply via email to