You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by em...@apache.org on 2014/07/07 08:44:07 UTC

[2/6] git commit: [CXF-5847]:Add operation to enable/disable ResponseTimeCounter

[CXF-5847]:Add operation to enable/disable ResponseTimeCounter


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

Branch: refs/heads/master
Commit: b7f754d0d6ec278c29907c4503ecac5d91ee81c3
Parents: b246f43
Author: Jim Ma <em...@apache.org>
Authored: Mon Jul 7 11:22:24 2014 +0800
Committer: Jim Ma <em...@apache.org>
Committed: Mon Jul 7 14:43:38 2014 +0800

----------------------------------------------------------------------
 .../management/counters/ResponseTimeCounter.java   | 17 ++++++++++++++++-
 .../counters/ResponseTimeCounterMBean.java         |  4 +++-
 2 files changed, 19 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/b7f754d0/rt/management/src/main/java/org/apache/cxf/management/counters/ResponseTimeCounter.java
----------------------------------------------------------------------
diff --git a/rt/management/src/main/java/org/apache/cxf/management/counters/ResponseTimeCounter.java b/rt/management/src/main/java/org/apache/cxf/management/counters/ResponseTimeCounter.java
index 86ce8cb..4d051cf 100644
--- a/rt/management/src/main/java/org/apache/cxf/management/counters/ResponseTimeCounter.java
+++ b/rt/management/src/main/java/org/apache/cxf/management/counters/ResponseTimeCounter.java
@@ -36,12 +36,16 @@ public class ResponseTimeCounter implements ResponseTimeCounterMBean, Counter {
     private long totalHandlingTime;    
     private long maxHandlingTime;
     private long minHandlingTime = Integer.MAX_VALUE;
+    private boolean enabled = true;
     
     public ResponseTimeCounter(ObjectName on) {
         objectName = on;     
     }
     
     public void  increase(MessageHandlingTimeRecorder mhtr) {
+        if (!enabled) {
+            return;
+        }
         invocations.getAndIncrement();
         FaultMode faultMode = mhtr.getFaultMode();
         if (null == faultMode) {
@@ -80,7 +84,7 @@ public class ResponseTimeCounter implements ResponseTimeCounterMBean, Counter {
         if (maxHandlingTime < handlingTime) {
             maxHandlingTime = handlingTime;
         }
-        if (minHandlingTime > handlingTime) {
+        if (minHandlingTime == 0 | minHandlingTime > handlingTime) {
             minHandlingTime = handlingTime;
         }
     }
@@ -138,6 +142,17 @@ public class ResponseTimeCounter implements ResponseTimeCounterMBean, Counter {
     
     public Number getTotalHandlingTime() {        
         return totalHandlingTime;
+    }
+
+    @Override
+    public void enable(boolean value) {
+        enabled = value;
+        
+    }
+
+    @Override
+    public boolean isEnabled() {
+        return enabled;
     }  
 
 }

http://git-wip-us.apache.org/repos/asf/cxf/blob/b7f754d0/rt/management/src/main/java/org/apache/cxf/management/counters/ResponseTimeCounterMBean.java
----------------------------------------------------------------------
diff --git a/rt/management/src/main/java/org/apache/cxf/management/counters/ResponseTimeCounterMBean.java b/rt/management/src/main/java/org/apache/cxf/management/counters/ResponseTimeCounterMBean.java
index 116948a..d435c9b 100644
--- a/rt/management/src/main/java/org/apache/cxf/management/counters/ResponseTimeCounterMBean.java
+++ b/rt/management/src/main/java/org/apache/cxf/management/counters/ResponseTimeCounterMBean.java
@@ -33,6 +33,8 @@ public interface ResponseTimeCounterMBean {
     Number getAvgResponseTime();
     Number getMaxResponseTime();
     Number getMinResponseTime();   
-    Number getTotalHandlingTime();
+    Number getTotalHandlingTime();   
     void reset();
+    void enable(boolean value);
+    boolean isEnabled();
 }
\ No newline at end of file