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)