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);
     }
 

Reply via email to