TUI: add Circuit Breaker tab and throughput ok/fail chart#23261
Merged
Conversation
oscerd
approved these changes
May 16, 2026
New tab showing all circuit breakers for the selected integration, inserted between Endpoints and Health. Supports all three Camel implementations: resilience4j, fault-tolerance, and core (ThrottlingExceptionRoutePolicy). Columns: ROUTE · ID · COMPONENT · STATE · PENDING · SUCCESS · FAIL · RATE% · REJECT - STATE is colour-coded: green=CLOSED, red=OPEN/FORCED_OPEN, yellow=HALF_OPEN - PENDING and REJECT are resilience4j-only - RATE% is resilience4j-only (failure rate percentage) - fault-tolerance shows only ROUTE · ID · STATE (its dev console provides no counters) Sort: press 's' to cycle ROUTE → ID → COMPONENT → STATE. Tab badge shows circuit breaker count; empty table shows "No circuit breakers". Tab numbering shifted: Circuit Breaker=5, Health=6, History=7, Trace=8. All footer hints updated to "1-8 tabs". Health tab gains red "(N DOWN)" badge when any check is DOWN. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…s are open When one or more circuit breakers are OPEN or FORCED_OPEN, the tab title changes to a red '(N OPEN)' badge — same pattern as the Health tab's '(N DOWN)' indicator. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Track failed/s alongside total/s in the sparkline history. Each time slot in the overview chart now renders as two bars side-by-side: - green bar = ok exchanges per second (total - failed) - red bar = failed exchanges per second 30 time slots × 2 bars × width=1 = ~60 columns, preserving the same visual footprint as the previous single-bar chart. Chart title shows current throughput broken down as 'N ok / M failed'. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Setting textValue("") hides the 0/value labels below each bar.
The current numbers are already shown in the chart title.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…orrectly barWidth=1 only fits single digits; with barWidth=2 values 0-99 render inside the bar. Render points reduced from 30 to 20 to keep total chart width roughly constant (20 × 2 bars × width 2 = ~80 columns). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…legend
- Replace single-color sparkline with BarGroup (green=ok, red=failed) bars
- Dynamic tick count: fills available terminal width (up to 60s of history)
- Y-axis scale labels (max, max/2, 0) aligned with bar chart rows
- X-axis time markers (-Ns labels and "now") drawn below the chart
- Styled title legend showing current msg/s, ok count and fail count
- barWidth=1, textValue("") suppresses per-bar numeric labels
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3170c1c to
7217938
Compare
Contributor
|
🌟 Thank you for your contribution to the Apache Camel project! 🌟 🐫 Apache Camel Committers, please review the following items:
|
The route dev console JSON already includes a "group" field on each route when a route group is set. Parse it into RouteInfo and display it as a dimmed GROUP column between ROUTE and FROM. The column is sortable via the 's' key, cycling in column order: name → group → status → total → failed. COVER value is right-aligned. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Contributor
|
🧪 CI tested the following changed modules:
All tested modules (2 modules)
|
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Camel returns -1 for mean/min/max processing time when no exchanges have completed yet. Clamp to 0 at parse time so the MIN/MAX/MEAN column never displays -1. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replaces Color.RED with Color.LIGHT_RED (ANSI bright red) throughout the TUI so that failure states, DOWN health checks, OPEN circuit breakers, failed exchange counts, and error text all render with the same light red that is visible on dark/black terminal backgrounds. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The light red (BRIGHT_RED) does not contrast well against the bar chart background. Revert the chart bars and legend swatch back to the darker Color.RED while keeping Color.LIGHT_RED for text-based error indicators. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Claude Code on behalf of Claus Ibsen
(N OPEN)red badge on the tab label when any breaker is open.-Nsandnow) below the chartmsg/s,ok, andfailcountsTest plan
camel tui; verify tab 5 appears as "Circuit Breaker" (or "Circuit Breaker (1 OPEN)" when tripped)🤖 Generated with Claude Code