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.