Author: norman
Date: Sat Nov 27 10:16:46 2010
New Revision: 1039642
URL: http://svn.apache.org/viewvc?rev=1039642&view=rev
Log:
Expose statistics for ConnectHandler/LineHandler/CommandHandler. See
PROTOCOLS-15
Modified:
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/CommandHandlerResultJMXMonitor.java
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/DataLineJamesMessageHookHandler.java
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/HookResultJMXMonitor.java
Modified:
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/CommandHandlerResultJMXMonitor.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/CommandHandlerResultJMXMonitor.java?rev=1039642&r1=1039641&r2=1039642&view=diff
==============================================================================
---
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/CommandHandlerResultJMXMonitor.java
(original)
+++
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/CommandHandlerResultJMXMonitor.java
Sat Nov 27 10:16:46 2010
@@ -28,7 +28,7 @@ import org.apache.james.protocols.api.Co
import org.apache.james.protocols.api.ExtensibleHandler;
import org.apache.james.protocols.api.ProtocolSession;
import org.apache.james.protocols.api.Response;
-import org.apache.james.protocols.api.ResponseResultHandler;
+import org.apache.james.protocols.api.CommandHandlerResultHandler;
import org.apache.james.protocols.api.WiringException;
import org.apache.james.protocols.smtp.SMTPResponse;
import org.apache.james.protocols.smtp.SMTPSession;
@@ -37,16 +37,17 @@ import org.apache.james.protocols.smtp.S
* Expose JMX statistics for {...@link CommandHandler}
*
*/
-public class CommandHandlerResultJMXMonitor implements
ResponseResultHandler<SMTPResponse, SMTPSession>, ExtensibleHandler {
+public class CommandHandlerResultJMXMonitor implements
CommandHandlerResultHandler<SMTPResponse, SMTPSession>, ExtensibleHandler {
private Map<String, CommandHandlerStats> cStats = new HashMap<String,
CommandHandlerStats>();
+
/*
* (non-Javadoc)
- * @see
org.apache.james.protocols.api.ResponseResultHandler#onResponse(org.apache.james.protocols.api.ProtocolSession,
org.apache.james.protocols.api.Response,
org.apache.james.protocols.api.CommandHandler)
+ * @see
org.apache.james.protocols.api.CommanHandlerResultHandler#onResponse(org.apache.james.protocols.api.ProtocolSession,
org.apache.james.protocols.api.Response, long,
org.apache.james.protocols.api.CommandHandler)
*/
- public Response onResponse(ProtocolSession session, SMTPResponse response,
CommandHandler<SMTPSession> handler) {
+ public Response onResponse(ProtocolSession session, SMTPResponse response,
long executionTime, CommandHandler<SMTPSession> handler) {
String name = handler.getClass().getName();
CommandHandlerStats stats = cStats.get(name);
if (stats != null) {
Modified:
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/DataLineJamesMessageHookHandler.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/DataLineJamesMessageHookHandler.java?rev=1039642&r1=1039641&r2=1039642&view=diff
==============================================================================
---
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/DataLineJamesMessageHookHandler.java
(original)
+++
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/DataLineJamesMessageHookHandler.java
Sat Nov 27 10:16:46 2010
@@ -176,8 +176,11 @@ public final class DataLineJamesMessageH
MessageHook rawHandler =
mHandlers.get(i);
session.getLogger().debug(
"executing james
message handler " + rawHandler);
+ long start = System.currentTimeMillis();
+
HookResult hRes =
rawHandler.onMessage(session,
new
MailToMailEnvelopeWrapper(mail));
+ long executionTime = System.currentTimeMillis() - start;
if (rHooks != null) {
for (int i2 = 0; i2 <
rHooks.size(); i2++) {
@@ -185,7 +188,7 @@ public final class DataLineJamesMessageH
session.getLogger()
.debug("executing hook " + rHook);
hRes =
((HookResultHook) rHook).onHookResult(
-
session, hRes, rawHandler);
+
session, hRes, executionTime, rawHandler);
}
}
@@ -205,16 +208,17 @@ public final class DataLineJamesMessageH
Hook rawHandler = (Hook)
messageHandlers.get(i);
session.getLogger().debug(
"executing james
message handler " + rawHandler);
+ long start = System.currentTimeMillis();
HookResult hRes = ((JamesMessageHook)
rawHandler)
.onMessage(session,
(Mail) mail);
-
+ long executionTime =
System.currentTimeMillis() - start;
if (rHooks != null) {
for (int i2 = 0; i2 <
rHooks.size(); i2++) {
Object rHook =
rHooks.get(i2);
session.getLogger()
.debug("executing hook " + rHook);
hRes =
((HookResultHook) rHook).onHookResult(
-
session, hRes, rawHandler);
+
session, hRes, executionTime, rawHandler);
}
}
Modified:
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/HookResultJMXMonitor.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/HookResultJMXMonitor.java?rev=1039642&r1=1039641&r2=1039642&view=diff
==============================================================================
---
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/HookResultJMXMonitor.java
(original)
+++
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/HookResultJMXMonitor.java
Sat Nov 27 10:16:46 2010
@@ -40,12 +40,12 @@ import org.apache.james.protocols.smtp.h
public class HookResultJMXMonitor implements HookResultHook, ExtensibleHandler
{
private Map<String, HookStats> hookStats = new HashMap<String,
HookStats>();
-
+
/*
* (non-Javadoc)
- * @see
org.apache.james.protocols.smtp.hook.HookResultHook#onHookResult(org.apache.james.protocols.smtp.SMTPSession,
org.apache.james.protocols.smtp.hook.HookResult, java.lang.Object)
+ * @see
org.apache.james.protocols.smtp.hook.HookResultHook#onHookResult(org.apache.james.protocols.smtp.SMTPSession,
org.apache.james.protocols.smtp.hook.HookResult, long,
org.apache.james.protocols.smtp.hook.Hook)
*/
- public HookResult onHookResult(SMTPSession session, HookResult result,
+ public HookResult onHookResult(SMTPSession session, HookResult result,
long executionTime,
Hook hook) {
String hookName = hook.getClass().getName();
HookStats stats = hookStats.get(hookName);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]