davsclaus opened a new pull request, #29379:
URL: https://github.com/apache/camel/pull/29379

   Stacked on #29378 (the timeline dev console). Review that one first; this PR 
targets its branch.
   
   ## What
   
   **The Timeline screen.** It shows the last minute of an integration on one 
time axis, one column per second:
   - the errors per second by exception on top, with each camel-chaos rule as a 
🎲 layer;
   - a line per route under it, coloured by the worst outcome of the second 
(completed, recovered by redelivery, handled by the error handler, failed), 
with the seconds a chaos rule had the route down shaded;
   - the selected route in detail: its outcomes stacked per second, the mean 
time with the p95 and max of its slowest second, in flight, redelivery 
attempts, and its slowest remote calls.
   
   ![The Timeline in an outage of the stock 
service](https://raw.githubusercontent.com/apache/camel/CAMEL-26691-timeline-tui/docs/user-manual/modules/ROOT/images/jbang/camel-tui-timeline.png)
   
   **It replaces the Activity tab**, at key 4. The Activity tab listed the last 
100 exchanges, which under load was only the last seconds.
   
   **The exchanges of a second.** Paused, ←→ moves a cursor over the seconds. 
Enter lists the exchanges the integration kept of that second: the failed and 
handled ones, and the 3 slowest, with their outcome, time, slowest call and 
chaos rule. Enter again shows one in detail, with its calls and exception.
   
   ![The exchanges of a second in the 
outage](https://raw.githubusercontent.com/apache/camel/CAMEL-26691-timeline-tui/docs/user-manual/modules/ROOT/images/jbang/camel-tui-timeline-exchanges.png)
   
   **Other keys:** `w` sets the window (1, 2 or 5 minutes), `Space` pauses, 
Shift+←→ goes back and forth in the 5 minutes, and Shift+F8 asks the AI to 
explain the window as cause and effect. `tui_get_table` has every series per 
second, and the exchanges while the list is open.
   
   **The data comes from the integration** (the `timeline` dev console of 
#29378): all of it once when the screen shows an integration (the `timeline` 
action), then the last seconds the integration writes each second. So the 
screen opens with the last minutes, also when the TUI started after the 
integration. The chaos layers still come from the chaos state in the status; 
CAMEL-26713 moves them into the console.
   
   ## Commits
   
   The first 7 commits are the screen as it was built overnight, where the TUI 
recorded the counters itself. The last commit moves it onto the integration's 
recording, removes the Activity tab, and adds the drill-down.
   
   ## Docs
   
   The help page, the Timeline section of the observe page (now its own 
section, and the Activity section is removed), and the tab table are updated. 
There are 3 new screenshots, taken live with camel-chaos: an outage of the 
stock service and a stalled shipping route. The chaos marks screenshot now 
shows the Errors tab.
   
   ## Tests
   
   - `TimelineTest` (merging the integration's seconds, unknown seconds, errors 
without the chaos-made ones, kept exchanges by second, chaos layers and down 
seconds).
   - `TimelineTabRenderTest` (the outage read from left to right, p95/max and 
calls, the AI table, pause, the window, a quiet integration, the worst route 
first, Shift+F8, the cursor and Enter into the exchanges and one in detail).
   - The tests of the tab bar, registry, icons, help pages and refresh are 
updated for the removed Activity tab.
   - The full TUI suite passes locally (2354 tests). Tried live against the 
chaos demo, driving the TUI over MCP.
   
   JIRA: https://issues.apache.org/jira/browse/CAMEL-26691
   
   _Claude Code on behalf of Claus Ibsen_
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to