JAMES-1950 Move TimeMetric inside the JamesSpoolerWorker service

Measuring time out of the worker service don't make sense. Even if we loose 
time for the DeQueue time.


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

Branch: refs/heads/master
Commit: a00d5e4fd18da4866606ff41fefe10e9d5336943
Parents: 33b74fb
Author: benwa <btell...@linagora.com>
Authored: Wed Mar 15 10:38:58 2017 +0700
Committer: benwa <btell...@linagora.com>
Committed: Wed Mar 15 16:57:31 2017 +0700

----------------------------------------------------------------------
 .../org/apache/james/mailetcontainer/impl/JamesMailSpooler.java | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/a00d5e4f/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
----------------------------------------------------------------------
diff --git 
a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
 
b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
index 2875a00..896a7db 100644
--- 
a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
+++ 
b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
@@ -155,13 +155,13 @@ public class JamesMailSpooler implements Runnable, 
Disposable, Configurable, Log
         while (active.get()) {
 
             final MailQueueItem queueItem;
-            TimeMetric timeMetric = metricFactory.timer(SPOOL_PROCESSING);
             try {
                 queueItem = queue.deQueue();
                 workerService.execute(new Runnable() {
 
                     @Override
                     public void run() {
+                        TimeMetric timeMetric = 
metricFactory.timer(SPOOL_PROCESSING);
                         try {
                             numActive.incrementAndGet();
 
@@ -195,6 +195,7 @@ public class JamesMailSpooler implements Runnable, 
Disposable, Configurable, Log
                         } finally {
                             processingActive.decrementAndGet();
                             numActive.decrementAndGet();
+                            timeMetric.stopAndPublish();
                         }
 
                     }
@@ -206,8 +207,6 @@ public class JamesMailSpooler implements Runnable, 
Disposable, Configurable, Log
                 }
             } catch (InterruptedException interrupted) {
                 //MailSpooler is stopping
-            } finally {
-                timeMetric.stopAndPublish();
             }
         }
         logger.info("Stop {} : {}", getClass().getName(), 
Thread.currentThread().getName());


---------------------------------------------------------------------
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