You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ro...@apache.org on 2016/11/30 14:01:32 UTC
[13/16] james-project git commit: JAMES-1868 Adding metrics for
outgoing mails
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 <bt...@linagora.com>
Authored: Fri Nov 25 09:13:37 2016 +0700
Committer: Benoit Tellier <bt...@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-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org