This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch camel-3.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit b98de730eda47b3eb8bbf885414fd78f7cd34747
Author: Claus Ibsen <[email protected]>
AuthorDate: Thu Feb 9 07:53:13 2023 +0100

    CAMEL-19026: Add queue size mbean attribute for backlog tracer
---
 .../src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java  | 4 ++++
 .../apache/camel/api/management/mbean/ManagedBacklogTracerMBean.java | 3 +++
 .../java/org/apache/camel/management/mbean/ManagedBacklogTracer.java | 5 +++++
 3 files changed, 12 insertions(+)

diff --git 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
index ffcc9dad4f2..b0e90350726 100644
--- 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
+++ 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java
@@ -253,6 +253,10 @@ public final class BacklogTracer extends ServiceSupport {
         return traceCounter.get();
     }
 
+    public long getQueueSize() {
+        return queue.size();
+    }
+
     public void resetTraceCounter() {
         traceCounter.set(0);
     }
diff --git 
a/core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedBacklogTracerMBean.java
 
b/core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedBacklogTracerMBean.java
index 09df86129f2..11aadc2306c 100644
--- 
a/core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedBacklogTracerMBean.java
+++ 
b/core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedBacklogTracerMBean.java
@@ -68,6 +68,9 @@ public interface ManagedBacklogTracerMBean {
     @ManagedOperation(description = "Resets the trace counter")
     void resetTraceCounter();
 
+    @ManagedAttribute(description = "Number of traced messages in the backlog")
+    long getQueueSize();
+
     @ManagedAttribute(description = "Number of maximum chars in the message 
body in the trace message. Use zero or negative value to have unlimited size.")
     int getBodyMaxChars();
 
diff --git 
a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedBacklogTracer.java
 
b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedBacklogTracer.java
index 8172b4d44a3..b3310e51094 100644
--- 
a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedBacklogTracer.java
+++ 
b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedBacklogTracer.java
@@ -126,6 +126,11 @@ public class ManagedBacklogTracer implements 
ManagedBacklogTracerMBean {
         backlogTracer.resetTraceCounter();
     }
 
+    @Override
+    public long getQueueSize() {
+        return backlogTracer.getQueueSize();
+    }
+
     @Override
     public int getBodyMaxChars() {
         return backlogTracer.getBodyMaxChars();

Reply via email to