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