Skip to content

CAMEL-23618: camel-tui - Add payload size metrics to Endpoints tab#23542

Merged
davsclaus merged 4 commits into
mainfrom
CAMEL-23618
May 27, 2026
Merged

CAMEL-23618: camel-tui - Add payload size metrics to Endpoints tab#23542
davsclaus merged 4 commits into
mainfrom
CAMEL-23618

Conversation

@davsclaus
Copy link
Copy Markdown
Contributor

Summary

  • Display body and header size columns in the Endpoints table when message size tracking is enabled
  • Add mirrored sparkline chart showing IN vs OUT average body sizes over time (yellow/magenta)
  • Add "Reset Stats" action to F2 menu that resets route counters, endpoint registry stats, and all local sparkline history
  • Rename consumer TOTAL column to POLLS to clarify it tracks scheduler poll count
  • Reset endpoint registry on reset-stats action in LocalCliConnector

Test plan

  • Build the TUI plugin module with mvn install
  • Run with a Camel integration that has messageSizeEnabled=true
  • Verify BODY and HDR columns appear in Endpoints tab when size data is available
  • Verify payload size sparkline renders alongside the message rate sparkline
  • Verify F2 → Reset Stats clears all sparkline graphs across Overview and Endpoints tabs
  • Verify consumer tab shows POLLS column header instead of TOTAL

🤖 Generated with Claude Code

davsclaus and others added 3 commits May 26, 2026 21:08
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Claus Ibsen <claus.ibsen@gmail.com>
Display body and header size columns (min/max/mean) in the Endpoints table
when message size tracking is enabled. Add a mirrored sparkline chart showing
IN vs OUT average body sizes over time. Add Reset Stats action to the F2 menu
that resets route counters, endpoint registry stats, and all local sparkline
history. Rename consumer TOTAL column to POLLS to clarify it tracks scheduler
poll count, not exchange totals.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

🌟 Thank you for your contribution to the Apache Camel project! 🌟
🤖 CI automation will test this PR automatically.

🐫 Apache Camel Committers, please review the following items:

  • First-time contributors require MANUAL approval for the GitHub Actions to run
  • You can use the command /component-test (camel-)component-name1 (camel-)component-name2.. to request a test from the test bot although they are normally detected and executed by CI.
  • You can label PRs using skip-tests and test-dependents to fine-tune the checks executed by this PR.
  • Build and test logs are available in the summary page. Only Apache Camel committers have access to the summary.

⚠️ Be careful when sharing logs. Review their contents before sharing them publicly.

Copy link
Copy Markdown
Contributor

@gnodet gnodet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adds payload size metrics (mean body size) tracking to the TUI Endpoints tab with sparkline history, plus a new "Reset Stats" action in the Actions menu. The reset logic properly clears both the server-side stats (via reset-stats action file) and all local sparkline history maps. RuntimeEndpointRegistry.reset() is also called in LocalCliConnector.doActionResetStatsTask().

Large diff (~800 lines), but mostly TUI rendering and history bookkeeping following the established pattern for other metric types (throughput, remote endpoints). Reviewed source code, config, and TUI integration — generated metadata skimmed.

LGTM.

Fully automatic review from Claude Code

…s tab

Enable row navigation (up/down) in the Endpoints table with highlight.
Add three-way chart mode toggle (a key): all, single, off. In single mode,
the sparkline and flow diagram show rates for the selected endpoint URI
(both IN and OUT directions). Per-endpoint rate history is tracked using
compound keys (pid|uri) reusing the existing sliding-window delta logic.
Also fix --sort=-size syntax in message-size example README.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 26, 2026

🧪 CI tested the following changed modules:

  • core/camel-console
  • dsl/camel-cli-connector
  • dsl/camel-jbang/camel-jbang-core
  • dsl/camel-jbang/camel-jbang-plugin-tui

⚠️ Some tests are disabled on GitHub Actions (@DisabledIfSystemProperty(named = "ci.env.name")) and require manual verification:

  • dsl/camel-jbang/camel-jbang-core: 1 test(s) disabled on GitHub Actions

💡 Manual integration tests recommended:

You modified dsl/camel-jbang/camel-jbang-core. The related integration tests in dsl/camel-jbang/camel-jbang-it are excluded from CI. Consider running them manually:

mvn verify -f dsl/camel-jbang/camel-jbang-it -Djbang-it-test
All tested modules (14 modules)
  • Camel :: All Core Sync point
  • Camel :: Console
  • Camel :: DSL :: CLI Connector
  • Camel :: DSL :: CLI Debug
  • Camel :: Diagram
  • Camel :: JBang :: Console
  • Camel :: JBang :: Core
  • Camel :: JBang :: MCP
  • Camel :: JBang :: Plugin :: Route Parser
  • Camel :: JBang :: Plugin :: TUI
  • Camel :: JBang :: Plugin :: Validate
  • Camel :: Launcher :: Container
  • Camel :: YAML DSL :: Validator
  • Camel :: YAML DSL :: Validator Maven Plugin

⚙️ View full build and test results

@github-actions github-actions Bot added the docs label May 26, 2026
@davsclaus davsclaus merged commit 9e02270 into main May 27, 2026
6 checks passed
@davsclaus davsclaus deleted the CAMEL-23618 branch May 27, 2026 05:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants