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]
