svn commit: r1465223 - in /ofbiz/trunk/framework/service: config/service.properties src/org/ofbiz/service/ServiceDispatcher.java

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r1465223 - in /ofbiz/trunk/framework/service: config/service.properties src/org/ofbiz/service/ServiceDispatcher.java

jleroux@apache.org
Author: jleroux
Date: Sat Apr  6 10:58:20 2013
New Revision: 1465223

URL: http://svn.apache.org/r1465223
Log:
Adds again the possibility to use the previous way about detecting slow services in logs.
Now it uses properties for the 2 Thresholds
0 to get the same behaviour as Adrian's last commit
1000 to get almost the same behaviour than before Adrian's last commit. But with no distinctions with slow and very slow services and a higher level for slow services. This value makes sense for instance for web services (SOAP, RMI, REST) served by external systems.
The properties can be used to set as desired. I believe it's no confusing OOTB and still flexible enough.

Modified:
    ofbiz/trunk/framework/service/config/service.properties
    ofbiz/trunk/framework/service/src/org/ofbiz/service/ServiceDispatcher.java

Modified: ofbiz/trunk/framework/service/config/service.properties
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/service/config/service.properties?rev=1465223&r1=1465222&r2=1465223&view=diff
==============================================================================
--- ofbiz/trunk/framework/service/config/service.properties (original)
+++ ofbiz/trunk/framework/service/config/service.properties Sat Apr  6 10:58:20 2013
@@ -21,3 +21,7 @@
 remotedispatcher.exportall=false
 # complete answer from SOAP WSDL or only brief message "Problem processing the service" for security reason
 secureSoapAnswer=true
+# By default shows all services durations in logs by using a 0 ms value
+showServiceDurationThreshold=0
+# By default shows/marks slow services in logs by using a 1000 ms value
+showSlowServiceThreshold=1000

Modified: ofbiz/trunk/framework/service/src/org/ofbiz/service/ServiceDispatcher.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/service/src/org/ofbiz/service/ServiceDispatcher.java?rev=1465223&r1=1465222&r2=1465223&view=diff
==============================================================================
--- ofbiz/trunk/framework/service/src/org/ofbiz/service/ServiceDispatcher.java (original)
+++ ofbiz/trunk/framework/service/src/org/ofbiz/service/ServiceDispatcher.java Sat Apr  6 10:58:20 2013
@@ -31,6 +31,7 @@ import org.ofbiz.base.config.GenericConf
 import org.ofbiz.base.util.Debug;
 import org.ofbiz.base.util.GeneralRuntimeException;
 import org.ofbiz.base.util.UtilMisc;
+import org.ofbiz.base.util.UtilProperties;
 import org.ofbiz.base.util.UtilTimer;
 import org.ofbiz.base.util.UtilValidate;
 import org.ofbiz.base.util.UtilXml;
@@ -571,8 +572,13 @@ public class ServiceDispatcher {
         rs.setEndStamp();
 
         long timeToRun = System.currentTimeMillis() - serviceStartTime;
-        if (Debug.timingOn()) {
+        long showServiceDurationThreshold = UtilProperties.getPropertyAsLong("service", "showServiceDurationThreshold", 0);
+        long showSlowServiceThreshold = UtilProperties.getPropertyAsLong("service", "showSlowServiceThreshold", 1000);
+                
+        if (Debug.timingOn() && timeToRun > showServiceDurationThreshold) {
             Debug.logTiming("Sync service [" + localName + "/" + modelService.name + "] finished in [" + timeToRun + "] milliseconds", module);
+        } else if (Debug.infoOn() && timeToRun > showSlowServiceThreshold) {
+            Debug.logTiming("Slow sync service execution detected: service [" + localName + "/" + modelService.name + "] finished in [" + timeToRun + "] milliseconds", module);
         }
         if ((Debug.verboseOn() || modelService.debug) && timeToRun > 50 && !modelService.hideResultInLog) {
             // Sanity check - some service results can be multiple MB in size. Limit message size to 10K.