Claus Ibsen created CAMEL-24003:
-----------------------------------

             Summary: BacklogTracer - Add activity queue to retain last N 
completed exchange summaries
                 Key: CAMEL-24003
                 URL: https://issues.apache.org/jira/browse/CAMEL-24003
             Project: Camel
          Issue Type: Improvement
          Components: camel-core
            Reporter: Claus Ibsen


The BacklogTracer currently captures the latest completed exchange via the 
message history queue (completeHistoryQueue), but only retains the single most 
recent one. For the upcoming TUI Activity tab, we need a rolling window of the 
last N completed exchange summaries.

Add a new lightweight activity queue to BacklogTracer that:
- Captures a summary when an exchange completes (isLast on the original route)
- Retains the last N summaries (configurable via activitySize, default 100)
- Only stores metadata (exchangeId, routeId, timestamp, elapsed, failed, 
exception message, endpointUri) — no body, headers, or per-step detail
- Works in standby mode (same as message history capture)
- Exposes via a new dumpActivity() method on the BacklogTracer interface

This piggybacks on the existing traceEvent() path where the history capture 
already detects exchange completion. The activity queue just retains N of those 
instead of only the latest one, in a lightweight form suitable for the Activity 
feed in the TUI.

Changes needed:
- BacklogTracer interface (camel-api): add activitySize getter/setter, 
dumpActivity() method
- BacklogTracer impl (camel-base-engine): add activityQueue, capture logic, 
drain logic
- ActivityDevConsole (camel-console): new dev console to expose activity data 
as JSON



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to