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

   _Claude Code on behalf of davsclaus_
   
   An integration writes its status file every second (100 ms while debugging). 
The memory-leak example, after a few hours, filled its 512 MB heap: the JVM 
spent 640% CPU in the garbage collector and wrote its status for the last time 
at 18:36. Five hours later the TUI still showed it as **Running at 8.52 
msg/s**, its chart drew that rate on, and a stop never got through. The same 
happens when a debugger suspends the JVM, or when the CLI connector's task 
ended on an `Error` (CAMEL-26794, #29522).
   
   New `StatusAge`: the time the status file was last written is kept on the 
integration, and one older than 15 seconds while its process runs is stale.
   
   - **Overview**: STATUS is `No status` (error colour), MSG/S `-`, in the 
table and in top mode.
   - **About**: the header says `✗ no status` instead of `● running`, the 
sparklines have no rate, and the Watch line says since when, with what the CPU 
of the process says since then (busy: as when the heap is full and the garbage 
collector runs all the time; idle: as when a debugger holds it), and `F10` to 
stop or kill it.
   - **Charts**: the throughput, endpoint, service, circuit breaker and heap 
histories and the Health strip add nothing from a status of then (they took its 
last rate on, every second).
   - **For tools**: the Overview row has `noStatusSince` and `cpuPercent`, and 
no `throughput`. `camel_control stop` says the stop may not reach it and kill 
stops it.
   - `camel_control stop-all` answered "Stopping all processes" where it only 
opens the Stop All dialog for the user to confirm; it now says so.
   - Help of the Overview and the TUI observe page.
   
   Checked live: `quick-start/timer-log` held with `kill -STOP`: after 15 
seconds `No status`, `-`, and "no status since 23:31:30 (25s ago): idle at 0% 
CPU, as when a debugger holds it"; after `kill -CONT` it is running again.
   
   Tests: `StatusAgeTest`, 
`AboutViewTest.anIntegrationWithoutAStatusOfLateSaysSoInsteadOfRunning`, 
`DataRefreshMembershipTest.aStatusOfThenAddsNothingToTheCharts`. The TUI suite 
passes locally.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


-- 
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