It is amazing to get so many responses so quickly. I think I failed to
mention the problem clearly. Every exchange passing through multiple routes
will have a custom header property to trace it end-to-end. Every time a
route and its sub-steps (process, beans, splitter etc) are executed, I need
to create a record for each of the following steps:

1. Route end-point received the message: Log custom header property value,
route ID, and timestamp
2. Before invoking next process in the pipeline: Log custom header property
value, route ID, process ID, and timestamp.
3. After process (2) is done: Log custom header property value, route ID,
process ID, and timestamp, time taken in completing the execution of the
process.
4. Repeat (2) - (3) for all process in the pipeline of the route.
5. At the end when route is done: Log  Log custom header property value,
route ID, process ID, timestamp, and time taken to execute the route from
start to end.

I will be storing log records in DB (most likely couchbase) and have a UI to
query these log record using header property value as key. I was thinking of
making use of custom InterceptStrategy at container level which returns a
wrapped DelegateAsyncProcessor instance with a asynch callback. I am not
sure if it is the right way or I should use trace with custom
TraceEventHandler. Any guidance will be highly appreciated.

Thanks,
Rakesh




--
View this message in context: 
http://camel.465427.n5.nabble.com/Instrumenting-routes-and-processors-tp5727719p5727751.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to