JAMES-1868 Adding metrics for outgoing mails
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/67bbb4b6 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/67bbb4b6 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/67bbb4b6 Branch: refs/heads/master Commit: 67bbb4b6357ca957fc413dde9a33b81e6f8e7fe5 Parents: ff1f8e9 Author: Benoit Tellier <btell...@linagora.com> Authored: Fri Nov 25 09:13:37 2016 +0700 Committer: Benoit Tellier <btell...@linagora.com> Committed: Wed Nov 30 16:32:21 2016 +0700 ---------------------------------------------------------------------- server/mailet/mailets/pom.xml | 4 ++++ .../apache/james/transport/mailets/RemoteDelivery.java | 13 +++++++++++++ 2 files changed, 17 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/67bbb4b6/server/mailet/mailets/pom.xml ---------------------------------------------------------------------- diff --git a/server/mailet/mailets/pom.xml b/server/mailet/mailets/pom.xml index 6b4394a..ea7603c 100644 --- a/server/mailet/mailets/pom.xml +++ b/server/mailet/mailets/pom.xml @@ -71,6 +71,10 @@ <artifactId>james-server-core</artifactId> </dependency> <dependency> + <groupId>org.apache.james</groupId> + <artifactId>james-server-metrics-api</artifactId> + </dependency> + <dependency> <groupId>org.apache.james.protocols</groupId> <artifactId>protocols-managesieve</artifactId> </dependency> http://git-wip-us.apache.org/repos/asf/james-project/blob/67bbb4b6/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RemoteDelivery.java ---------------------------------------------------------------------- diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RemoteDelivery.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RemoteDelivery.java index 8c6637e..fa9ac3d 100644 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RemoteDelivery.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RemoteDelivery.java @@ -60,6 +60,8 @@ import org.apache.james.dnsservice.library.MXHostAddressIterator; import org.apache.james.domainlist.api.DomainList; import org.apache.james.domainlist.api.DomainListException; import org.apache.james.lifecycle.api.LifecycleUtil; +import org.apache.james.metrics.api.Metric; +import org.apache.james.metrics.api.MetricFactory; import org.apache.james.queue.api.MailPrioritySupport; import org.apache.james.queue.api.MailQueue; import org.apache.james.queue.api.MailQueue.MailQueueException; @@ -158,6 +160,7 @@ public class RemoteDelivery extends GenericMailet implements Runnable { private static final String PATTERN_STRING = "\\s*([0-9]*\\s*[\\*])?\\s*([0-9]+)\\s*([a-z,A-Z]*)\\s*"; private static final Pattern PATTERN = Patterns.compilePatternUncheckedException(PATTERN_STRING); + private static final String OUTGOING_MAILS = "outgoingMails"; @Inject private DNSService dnsServer; @@ -260,6 +263,9 @@ public class RemoteDelivery extends GenericMailet implements Runnable { private boolean isSSLEnable = false; + private MetricFactory metricFactory; + private Metric outgoingMailsMetric; + @Inject public void setDomainList(DomainList domainList) { this.domainList = domainList; @@ -270,6 +276,11 @@ public class RemoteDelivery extends GenericMailet implements Runnable { this.queueFactory = queueFactory; } + @Inject + public void setMetricFactory(MetricFactory metricFactory) { + this.metricFactory = metricFactory; + } + /** * Initializes all arguments based on configuration values specified in the * James configuration file. @@ -277,6 +288,7 @@ public class RemoteDelivery extends GenericMailet implements Runnable { * @throws MessagingException on failure to initialize attributes. */ public void init() throws MessagingException { + outgoingMailsMetric = metricFactory.generate(OUTGOING_MAILS); // Set isDebug flag. isDebug = (getInitParameter("debug") == null) ? false : Boolean.valueOf(getInitParameter("debug")); @@ -1050,6 +1062,7 @@ public class RemoteDelivery extends GenericMailet implements Runnable { logMessageBuffer = new StringBuilder(256).append("Mail (").append(mail.getName()).append(") sent successfully to ").append(outgoingMailServer.getHostName()).append(" at ").append(outgoingMailServer.getHost()).append(" from ").append(props.get("mail.smtp.from")).append(" for ") .append(mail.getRecipients()); log(logMessageBuffer.toString()); + outgoingMailsMetric.increment(); return true; } catch (SendFailedException sfe) { logSendFailedException(sfe); --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org