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)

Reply via email to