This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch feature/CAMEL-23870-heap-histogram in repository https://gitbox.apache.org/repos/asf/camel.git
commit 8a9fae587ca213251eb0db85bde4123e6b0a3048 Author: Claus Ibsen <[email protected]> AuthorDate: Wed Jul 1 16:12:33 2026 +0200 chore: compute heap histogram totals from visible entries only Co-Authored-By: Claude <[email protected]> Signed-off-by: Claus Ibsen <[email protected]> --- .../jbang/core/commands/action/CamelHeapHistogram.java | 12 +++++++++--- .../dsl/jbang/core/commands/tui/HeapHistogramTab.java | 18 +++++++++++------- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelHeapHistogram.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelHeapHistogram.java index 4e5cf33b6e2f..c58ae90c67d5 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelHeapHistogram.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelHeapHistogram.java @@ -137,9 +137,15 @@ public class CamelHeapHistogram extends ActionWatchCommand { clearScreen(); } if (!rows.isEmpty()) { - printer().printf("PID: %s\tClasses: %d\tTotal Instances: %s\tTotal Bytes: %s\tDisplay: %d%n", - pid, arr != null ? arr.size() : 0, - formatNumber(totalInstances), formatBytes(totalBytes), rows.size()); + long visibleInstances = 0; + long visibleBytes = 0; + for (Row r : rows) { + visibleInstances += r.instances; + visibleBytes += r.bytes; + } + printer().printf("PID: %s\tClasses: %d\tInstances: %s\tBytes: %s%n", + pid, rows.size(), + formatNumber(visibleInstances), formatBytes(visibleBytes)); printTable(rows); } } else { diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HeapHistogramTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HeapHistogramTab.java index 8af8db0cd01f..3030f3b11e33 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HeapHistogramTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HeapHistogramTab.java @@ -169,18 +169,22 @@ class HeapHistogramTab implements MonitorTab { } private void renderSummary(Frame frame, Rect area, List<HeapEntry> visible) { + long visibleInstances = 0; + long visibleBytes = 0; + for (HeapEntry e : visible) { + visibleInstances += e.instances; + visibleBytes += e.bytes; + } + List<Span> spans = new ArrayList<>(); spans.add(Span.styled(" Classes: ", Style.EMPTY.fg(Color.YELLOW).bold())); - spans.add(Span.styled(String.valueOf(allEntries.size()), Style.EMPTY.fg(Color.WHITE))); - spans.add(Span.raw(" ")); - spans.add(Span.styled("Showing: ", Style.EMPTY.fg(Color.YELLOW).bold())); spans.add(Span.styled(String.valueOf(visible.size()), Style.EMPTY.fg(Color.WHITE))); spans.add(Span.raw(" ")); - spans.add(Span.styled("Total Instances: ", Style.EMPTY.fg(Color.YELLOW).bold())); - spans.add(Span.styled(formatNumber(totalInstances), Style.EMPTY.fg(Color.WHITE))); + spans.add(Span.styled("Instances: ", Style.EMPTY.fg(Color.YELLOW).bold())); + spans.add(Span.styled(formatNumber(visibleInstances), Style.EMPTY.fg(Color.WHITE))); spans.add(Span.raw(" ")); - spans.add(Span.styled("Total Bytes: ", Style.EMPTY.fg(Color.YELLOW).bold())); - spans.add(Span.styled(formatBytes(totalBytes), Style.EMPTY.fg(Color.WHITE))); + spans.add(Span.styled("Bytes: ", Style.EMPTY.fg(Color.YELLOW).bold())); + spans.add(Span.styled(formatBytes(visibleBytes), Style.EMPTY.fg(Color.WHITE))); frame.renderWidget(Paragraph.from(Line.from(spans)), area); }
