Claus Ibsen created CAMEL-25431:
-----------------------------------
Summary: camel-core - backlog tracer: a route called later by the
same exchange is stamped with the time the exchange was created
Key: CAMEL-25431
URL: https://issues.apache.org/jira/browse/CAMEL-25431
Project: Camel
Issue Type: Bug
Components: camel-core
Reporter: Claus Ibsen
Fix For: 4.23.0
The backlog tracer stamps the events of entering and leaving a route with the
time the exchange was created (exchange.getClock().getCreated()). For the route
the exchange started in that is right, but for a route called later by the same
exchange (direct, after a delay or redeliveries) the history goes back in time:
the called route's steps show before the call that reached them.
Example (fail-well/error-handling in camel-jbang-examples, with redeliveries):
step 1 (from of checkout) 16:00:20.573, steps 2-3 (unmarshal, to direct:charge)
16:00:22.633, then the from of payment-provider at 16:00:20.573 again.
Fix: a route is entered at the time it is called (the route the exchange
started in keeps the creation time). The event of leaving a route carries the
time it was entered, as it did for the first route, so a reader adds the
elapsed time to get the time it was left (as the camel-jbang tooling does).
Also: a throwException declared with exceptionType and message (YAML, XML) is
labelled throwException[] in traces and route history; it should be labelled
with the type and message.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)