You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2023/02/09 07:42:27 UTC
[camel] 02/04: CAMEL-19026: Add queue size mbean attribute for backlog tracer
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 7199da767e56bd97aefc9e418d0e2fd50281431d
Author: Claus Ibsen <cl...@gmail.com>
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();