bryancall opened a new pull request, #12758: URL: https://github.com/apache/trafficserver/pull/12758
## Summary This PR modernizes `traffic_top` with a complete UI redesign featuring: - **Responsive multi-column layouts** that adapt to terminal size (80x24, 120x40, 160x40) - **9 dedicated pages**: Overview, Responses, Connections, Cache, SSL/TLS, Errors, Performance, Graphs, Help - **Real-time ASCII graphs** showing request rates, bandwidth, cache hit rates, and connections - **HTTP milestone timing** on the Performance page showing request lifecycle timing - **Color-coded statistics** with btop-style visual design - **Unicode box drawing** with ASCII fallback for compatibility - **Batch mode** (`-b`/`-B`) for scripted monitoring with JSON output option ### Code Quality Improvements - Replaced `goto` statements with clean loop control - Added explicit `SIGWINCH` handler for responsive terminal resize - Replaced `ink_assert` with graceful error handling - Defined magic numbers as named constants - Added stat lookup table validation at startup (debug builds) - Moved `<chrono>` include from header to implementation - Added comprehensive code documentation - Fixed duplicate stats appearing on the same page in larger layouts - Updated help page with all keyboard shortcuts ## Test plan - [x] Build with ASAN: `ninja traffic_top` - [x] Run autest: `autest -f traffic_top_batch` passes - [x] Manual testing of all pages at different terminal sizes (80x24, 120x40, 160x40) - [x] Verify batch mode output: `traffic_top -b -c 1` - [x] Test ASCII mode toggle with 'a' key - [x] Test window resize handling -- 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]
