JAMES-1950 Adding a metric for mail queue size

Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/486832a5
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/486832a5
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/486832a5

Branch: refs/heads/master
Commit: 486832a541e89ecc4ea5e20fa148fdc840809e5a
Parents: 5823aae
Author: benwa <btell...@linagora.com>
Authored: Thu Mar 16 08:58:12 2017 +0700
Committer: benwa <btell...@linagora.com>
Committed: Tue Mar 21 07:51:54 2017 +0700

----------------------------------------------------------------------
 .../src/main/java/org/apache/james/queue/jms/JMSMailQueue.java   | 4 ++++
 1 file changed, 4 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/486832a5/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueue.java
----------------------------------------------------------------------
diff --git 
a/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueue.java
 
b/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueue.java
index 2ebff7b..db65d45 100644
--- 
a/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueue.java
+++ 
b/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueue.java
@@ -80,6 +80,7 @@ public class JMSMailQueue implements ManageableMailQueue, 
JMSSupport, MailPriori
     protected final Connection connection;
     protected final MailQueueItemDecoratorFactory 
mailQueueItemDecoratorFactory;
     protected final Metric enqueuedMailsMetric;
+    protected final Metric mailQueueSize;
     protected final MetricFactory metricFactory;
     protected final Logger logger;
     public final static String FORCE_DELIVERY = "FORCE_DELIVERY";
@@ -95,6 +96,7 @@ public class JMSMailQueue implements ManageableMailQueue, 
JMSSupport, MailPriori
         this.queueName = queueName;
         this.metricFactory = metricFactory;
         this.enqueuedMailsMetric = metricFactory.generate("enqueuedMail:" + 
queueName);
+        this.mailQueueSize = metricFactory.generate("mailQueueSize:" + 
queueName);
         this.logger = logger;
     }
 
@@ -126,6 +128,7 @@ public class JMSMailQueue implements ManageableMailQueue, 
JMSSupport, MailPriori
                 message = consumer.receive(10000);
 
                 if (message != null) {
+                    mailQueueSize.decrement();
                     return createMailQueueItem(connection, session, consumer, 
message);
                 } else {
                     session.commit();
@@ -204,6 +207,7 @@ public class JMSMailQueue implements ManageableMailQueue, 
JMSSupport, MailPriori
             produceMail(session, props, msgPrio, mail);
 
             enqueuedMailsMetric.increment();
+            mailQueueSize.increment();
         } catch (Exception e) {
             if (session != null) {
                 try {


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to