diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CircuitBreakerTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CircuitBreakerTab.java index 762cac0d0d739..8cc985eaed270 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CircuitBreakerTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CircuitBreakerTab.java @@ -49,7 +49,7 @@ class CircuitBreakerTab implements MonitorTab { private static final String[] SORT_COLUMNS = { "route", "id", "component", "state" }; - private static final int MAX_CHART_POINTS = 60; + private static final int MAX_CHART_POINTS = 300; private final MonitorContext ctx; private final TableState tableState = new TableState(); @@ -352,7 +352,7 @@ private void renderChart(Frame frame, Rect area, CircuitBreakerInfo cb, String p LinkedList successHist = cbSuccessHistory.get(key); LinkedList failHist = cbFailHistory.get(key); - int renderPoints = MAX_CHART_POINTS; + int renderPoints = Math.min(MAX_CHART_POINTS, Math.max(2, vSplit.get(1).width() - 6)); long[] successArr = new long[renderPoints]; long[] failArr = new long[renderPoints]; if (successHist != null) { @@ -384,7 +384,8 @@ private void renderChart(Frame frame, Rect area, CircuitBreakerInfo cb, String p .topStyle(Style.EMPTY.fg(Color.GREEN)) .bottomStyle(Style.EMPTY.fg(Color.LIGHT_RED)) .showYAxis(true) - .xLabels("-60s", "-45s", "-30s", "-15s", "now") + .xLabels("-" + renderPoints + "s", "-" + (renderPoints * 3 / 4) + "s", + "-" + (renderPoints / 2) + "s", "-" + (renderPoints / 4) + "s", "now") .block(Block.builder().borderType(BorderType.ROUNDED).borders(Borders.ALL) .title(Title.from(chartTitle)).build()) .build(), vSplit.get(1)); diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/EndpointsTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/EndpointsTab.java index 68813cbb9ee09..e50c0b0acb795 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/EndpointsTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/EndpointsTab.java @@ -51,7 +51,7 @@ class EndpointsTab implements MonitorTab { private static final String[] SORT_COLUMNS = { "component", "route", "dir", "total", "body", "hdr", "uri" }; - private static final int MAX_CHART_POINTS = 60; + private static final int MAX_CHART_POINTS = 300; private static final int CHART_ALL = 0; private static final int CHART_SINGLE = 1; private static final int CHART_OFF = 2; @@ -426,7 +426,7 @@ private void renderEndpointFlow( LinkedList inHist = inHistMap.getOrDefault(pid, new LinkedList<>()); LinkedList outHist = outHistMap.getOrDefault(pid, new LinkedList<>()); - int renderPoints = MAX_CHART_POINTS; + int renderPoints = Math.min(MAX_CHART_POINTS, Math.max(2, hSplit.get(1).width() - 6)); long[] inArr = new long[renderPoints]; long[] outArr = new long[renderPoints]; for (int i = 0; i < renderPoints; i++) { @@ -529,7 +529,7 @@ private void renderSingleEndpointChart(Frame frame, Rect area, String selectedUr LinkedList inHist = perEndpointInHistory.getOrDefault(key, new LinkedList<>()); LinkedList outHist = perEndpointOutHistory.getOrDefault(key, new LinkedList<>()); - int renderPoints = MAX_CHART_POINTS; + int renderPoints = Math.min(MAX_CHART_POINTS, Math.max(2, hSplit.get(1).width() - 6)); long[] inArr = new long[renderPoints]; long[] outArr = new long[renderPoints]; for (int i = 0; i < renderPoints; i++) { @@ -576,7 +576,7 @@ private void renderPayloadSizeChart(Frame frame, Rect area, String pid) { LinkedList inHist = endpointInSizeHistory.getOrDefault(pid, new LinkedList<>()); LinkedList outHist = endpointOutSizeHistory.getOrDefault(pid, new LinkedList<>()); - int renderPoints = MAX_CHART_POINTS; + int renderPoints = Math.min(MAX_CHART_POINTS, Math.max(2, area.width() - 6)); long[] inArr = new long[renderPoints]; long[] outArr = new long[renderPoints]; for (int i = 0; i < renderPoints; i++) { diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MetricsCollector.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MetricsCollector.java index a2db00029ec8b..974af492c85fd 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MetricsCollector.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MetricsCollector.java @@ -29,8 +29,8 @@ */ class MetricsCollector { - static final int MAX_SPARKLINE_POINTS = 60; - static final int MAX_ENDPOINT_CHART_POINTS = 60; + static final int MAX_SPARKLINE_POINTS = 300; + static final int MAX_ENDPOINT_CHART_POINTS = 300; static final int MAX_HEAP_HISTORY_POINTS = 120; static final long HEAP_SAMPLE_INTERVAL_MS = 5000; diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/OverviewTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/OverviewTab.java index b45dea4e93a52..09b95d7995cf8 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/OverviewTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/OverviewTab.java @@ -71,7 +71,7 @@ interface OverviewActions { } private static final long VANISH_DURATION_MS = 6000; - private static final int MAX_SPARKLINE_POINTS = 60; + private static final int MAX_SPARKLINE_POINTS = 300; private static final String[] SORT_COLUMNS = { "pid", "name", "version", "status", "total", "fail" }; static final int CHART_ALL = 0;