You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by sc...@apache.org on 2014/12/14 19:15:10 UTC

svn commit: r1645482 - in /uima/uimaj/trunk/uimaj-core/src: main/java/org/apache/uima/analysis_engine/impl/AnalysisEngineImplBase.java main/java/org/apache/uima/util/impl/ProcessTrace_impl.java test/java/org/apache/uima/jcas/impl/JCasHashMapTest.java

Author: schor
Date: Sun Dec 14 18:15:10 2014
New Revision: 1645482

URL: http://svn.apache.org/r1645482
Log:
[UIMA-4151] skip call to build process trace when disabled

Modified:
    uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/AnalysisEngineImplBase.java
    uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/impl/ProcessTrace_impl.java
    uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/jcas/impl/JCasHashMapTest.java

Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/AnalysisEngineImplBase.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/AnalysisEngineImplBase.java?rev=1645482&r1=1645481&r2=1645482&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/AnalysisEngineImplBase.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/AnalysisEngineImplBase.java Sun Dec 14 18:15:10 2014
@@ -66,7 +66,7 @@ import org.apache.uima.util.impl.Process
  */
 public abstract class AnalysisEngineImplBase extends ConfigurableResource_ImplBase implements
         TextAnalysisEngine {
-
+  
   /* (non-Javadoc)
    * @see org.apache.uima.resource.Resource_ImplBase#setMetaData(org.apache.uima.resource.metadata.ResourceMetaData)
    */
@@ -260,7 +260,9 @@ public abstract class AnalysisEngineImpl
           throws ResultNotSupportedException, AnalysisEngineProcessException {
     setResultSpecification(aResultSpec);
     process(aCAS);
-    buildProcessTraceFromMBeanStats(aTrace);
+    if (isProcessTraceEnabled()) {  // a slight performance speedup https://issues.apache.org/jira/browse/UIMA-4151
+      buildProcessTraceFromMBeanStats(aTrace); 
+    }
   }
 
   public ProcessTrace process(CAS aCAS) throws AnalysisEngineProcessException {
@@ -270,7 +272,9 @@ public abstract class AnalysisEngineImpl
       CAS cas = iter.next();
       cas.release();
     }
-    return buildProcessTraceFromMBeanStats();
+    // https://issues.apache.org/jira/browse/UIMA-4151
+    return isProcessTraceEnabled() ? buildProcessTraceFromMBeanStats() : ProcessTrace_impl.disabledProcessTrace;
+//    return buildProcessTraceFromMBeanStats();
   }
 
   /**

Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/impl/ProcessTrace_impl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/impl/ProcessTrace_impl.java?rev=1645482&r1=1645481&r2=1645482&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/impl/ProcessTrace_impl.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/impl/ProcessTrace_impl.java Sun Dec 14 18:15:10 2014
@@ -38,7 +38,8 @@ import org.apache.uima.util.UimaTimer;
  */
 public class ProcessTrace_impl implements ProcessTrace {
   private static final long serialVersionUID = 7566277176545062757L;
-
+ 
+  public static ProcessTrace disabledProcessTrace = new ProcessTrace_impl(false);
   /**
    * List of closed events.
    */
@@ -65,6 +66,13 @@ public class ProcessTrace_impl implement
   public ProcessTrace_impl() {
     this(UIMAFramework.getDefaultPerformanceTuningProperties());
   }
+  
+  ProcessTrace_impl(boolean enabled) {
+    mEnabled = enabled;
+    if (mEnabled) {
+      mTimer = UIMAFramework.newTimer();
+    }
+  }
 
   /**
    * Create a ProcessTrace_impl using the framework's default timer.
@@ -74,14 +82,12 @@ public class ProcessTrace_impl implement
    *          disabled.
    */
   public ProcessTrace_impl(Properties aPerformanceTuningSettings) {
-    if (aPerformanceTuningSettings == null) {
-      aPerformanceTuningSettings = UIMAFramework.getDefaultPerformanceTuningProperties();
-    }
-    mEnabled = "true".equalsIgnoreCase(aPerformanceTuningSettings
-            .getProperty(UIMAFramework.PROCESS_TRACE_ENABLED));
-    if (mEnabled) {
-      mTimer = UIMAFramework.newTimer();
-    }
+//    if (aPerformanceTuningSettings == null) {
+//      aPerformanceTuningSettings = UIMAFramework.getDefaultPerformanceTuningProperties();
+//    }
+    this("true".equalsIgnoreCase(
+        ((aPerformanceTuningSettings == null) ? UIMAFramework.getDefaultPerformanceTuningProperties() : aPerformanceTuningSettings)
+        .getProperty(UIMAFramework.PROCESS_TRACE_ENABLED)));
   }
 
   /**

Modified: uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/jcas/impl/JCasHashMapTest.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/jcas/impl/JCasHashMapTest.java?rev=1645482&r1=1645481&r2=1645482&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/jcas/impl/JCasHashMapTest.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/jcas/impl/JCasHashMapTest.java Sun Dec 14 18:15:10 2014
@@ -244,7 +244,7 @@ public class JCasHashMapTest extends Tes
           }
         }
         
-        assertEquals(numberOfThreads - 1, numberWaiting);
+        assertEquals(numberOfThreads - 1, numberWaiting);  // expected 7 but was 8
         m.put(fs);
         found[threadFinished] = fs;