You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by de...@apache.org on 2013/04/18 19:52:32 UTC
svn commit: r1469496 - in
/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio:
AllInOne.java CasPipeline.java
Author: degenaro
Date: Thu Apr 18 17:52:31 2013
New Revision: 1469496
URL: http://svn.apache.org/r1469496
Log:
UIMA-2793 Gather and display UIMA Component Statistics after last CAS is processed
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOne.java
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/CasPipeline.java
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOne.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOne.java?rev=1469496&r1=1469495&r2=1469496&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOne.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/AllInOne.java Thu Apr 18 17:52:31 2013
@@ -42,6 +42,8 @@ public class AllInOne extends CliBase {
private JobRequestProperties jobRequestProperties = new JobRequestProperties();
+ private boolean showStats = true;
+
CasGenerator casGenerator;
CasPipeline casPipeline;
@@ -117,12 +119,19 @@ public class AllInOne extends CliBase {
mh.frameworkTrace(cid, mid, "exit");
}
+ private void statistics() {
+ if(showStats) {
+ casPipeline.dumpStatistics(System.out);
+ }
+ }
+
public void go() throws Exception {
String mid = "go";
mh.frameworkTrace(cid, mid, "enter");
examine();
initialize();
process();
+ statistics();
mh.frameworkTrace(cid, mid, "exit");
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/CasPipeline.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/CasPipeline.java?rev=1469496&r1=1469495&r2=1469496&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/CasPipeline.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/aio/CasPipeline.java Thu Apr 18 17:52:31 2013
@@ -21,6 +21,7 @@ package org.apache.uima.ducc.cli.aio;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
+import java.io.PrintStream;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
@@ -29,6 +30,7 @@ import java.util.Properties;
import org.apache.uima.UIMAFramework;
import org.apache.uima.analysis_engine.AnalysisEngine;
import org.apache.uima.analysis_engine.AnalysisEngineDescription;
+import org.apache.uima.analysis_engine.AnalysisEngineManagement;
import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
import org.apache.uima.cas.CAS;
import org.apache.uima.ducc.cli.IUiOptions.UiOption;
@@ -162,4 +164,25 @@ public class CasPipeline {
ae.process(cas);
return cas;
}
+
+ public void dumpStatistics(PrintStream out) {
+ out.println("");
+ out.println("+---------------------------+");
+ out.println("| UIMA Component Statistics |");
+ out.println("+---------------------------+");
+ out.println("");
+ AnalysisEngineManagement aem = ae.getManagementInterface();
+ dumpComponentStatistics(out, 0, aem);
+ }
+
+ private static void dumpComponentStatistics(PrintStream out, int level, AnalysisEngineManagement aem) {
+ String indent = "";
+ for (int i = 0; i < level; i++) {
+ indent += " ";
+ }
+ out.println(indent+aem.getName()+": "+aem.getAnalysisTime()+"ms, ");
+ for (AnalysisEngineManagement childAem : (Iterable<AnalysisEngineManagement>) (aem.getComponents().values())) {
+ dumpComponentStatistics(out, level+1, childAem);
+ }
+ }
}