You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2017/09/11 21:57:15 UTC
[2/2] qpid-broker-j git commit: QPID-7825: [Java Broker] Add queue
statistic counting message time-to-live expirations
QPID-7825: [Java Broker] Add queue statistic counting message time-to-live expirations
Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/82495db3
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/82495db3
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/82495db3
Branch: refs/heads/master
Commit: 82495db3ad3c7017f9ecca4857b133e45eb771fe
Parents: 1c71e66
Author: Keith Wall <ke...@gmail.com>
Authored: Mon Sep 11 22:56:06 2017 +0100
Committer: Keith Wall <ke...@gmail.com>
Committed: Mon Sep 11 22:56:06 2017 +0100
----------------------------------------------------------------------
.../org/apache/qpid/server/model/Queue.java | 11 ++++++++++
.../apache/qpid/server/queue/AbstractQueue.java | 14 +++++++++++++
.../qpid/server/queue/QueueStatistics.java | 22 +++++++++++++++++++-
3 files changed, 46 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/82495db3/broker-core/src/main/java/org/apache/qpid/server/model/Queue.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/model/Queue.java b/broker-core/src/main/java/org/apache/qpid/server/model/Queue.java
index 659abe0..d0a70d1 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/model/Queue.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/model/Queue.java
@@ -382,6 +382,17 @@ public interface Queue<X extends Queue<X>> extends ConfiguredObject<X>,
long getTotalEnqueuedMessages();
@SuppressWarnings("unused")
+ @ManagedStatistic(statisticType = StatisticType.CUMULATIVE, units = StatisticUnit.BYTES, label = "Expired",
+ description = "Total size of all messages expired by message time-to-live on this queue.")
+ long getTotalExpiredBytes();
+
+ @SuppressWarnings("unused")
+ @ManagedStatistic(statisticType = StatisticType.CUMULATIVE, units = StatisticUnit.MESSAGES, label = "Expired",
+ description = "Total number of messages expired by message time-to-live on this queue.")
+ long getTotalExpiredMessages();
+
+
+ @SuppressWarnings("unused")
@ManagedStatistic(statisticType = StatisticType.POINT_IN_TIME, units = StatisticUnit.BYTES, label = "Prefetched",
description = "Total size of all messages currently prefetched by consumers.")
long getUnacknowledgedBytes();
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/82495db3/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java b/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
index a5e5e65..416dbfd 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
@@ -2128,6 +2128,7 @@ public abstract class AbstractQueue<X extends AbstractQueue<X>>
expired = false;
if (node.acquire())
{
+ _queueStatistics.addToExpired(node.getSizeWithHeader());
dequeueEntry(node);
}
}
@@ -2199,6 +2200,7 @@ public abstract class AbstractQueue<X extends AbstractQueue<X>>
if (node.expired())
{
deleteEntry(node);
+ _queueStatistics.addToExpired(node.getSizeWithHeader());
}
else
{
@@ -2641,6 +2643,18 @@ public abstract class AbstractQueue<X extends AbstractQueue<X>>
return _maximumDeliveryAttempts;
}
+ @Override
+ public long getTotalExpiredBytes()
+ {
+ return _queueStatistics.getEnqueueSize();
+ }
+
+ @Override
+ public long getTotalExpiredMessages()
+ {
+ return _queueStatistics.getExpiredCount();
+ }
+
private void checkForNotification(final ServerMessage<?> msg,
final QueueNotificationListener listener,
final long currentTime,
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/82495db3/broker-core/src/main/java/org/apache/qpid/server/queue/QueueStatistics.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/queue/QueueStatistics.java b/broker-core/src/main/java/org/apache/qpid/server/queue/QueueStatistics.java
index db0bd3d..c4464f7 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/queue/QueueStatistics.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/queue/QueueStatistics.java
@@ -52,6 +52,9 @@ final class QueueStatistics
private final AtomicInteger _availableCountHwm = new AtomicInteger();
private final AtomicLong _availableSizeHwm = new AtomicLong();
+ private final AtomicInteger _expiredCount = new AtomicInteger();
+ private final AtomicLong _expiredSize = new AtomicLong();
+
public final int getQueueCount()
{
return _queueCount.get();
@@ -142,6 +145,16 @@ final class QueueStatistics
return _availableSizeHwm.get();
}
+ public int getExpiredCount()
+ {
+ return _expiredCount.get();
+ }
+
+ public long getExpiredSize()
+ {
+ return _expiredSize.get();
+ }
+
void addToQueue(long size)
{
int count = _queueCount.incrementAndGet();
@@ -222,6 +235,12 @@ final class QueueStatistics
_persistentDequeueSize.addAndGet(size);
}
+ void addToExpired(final long size)
+ {
+ _expiredCount.incrementAndGet();
+ _expiredSize.addAndGet(size);
+ }
+
void reset()
{
_availableCountHwm.set(0);
@@ -236,6 +255,7 @@ final class QueueStatistics
_persistentEnqueueSize.set(0L);
_persistentDequeueCount.set(0L);
_persistentDequeueSize.set(0L);
+ _expiredCount.set(0);
+ _expiredSize.set(0);
}
-
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org