You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by bu...@apache.org on 2015/10/08 16:04:37 UTC
svn commit: r1707546 - in /uima/sandbox/uima-ducc/trunk:
uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionEnd.java
uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java
Author: burn
Date: Thu Oct 8 14:04:37 2015
New Revision: 1707546
URL: http://svn.apache.org/viewvc?rev=1707546&view=rev
Log:
UIMA-4641 Save performance totals for the summary line in the json file
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionEnd.java
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionEnd.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionEnd.java?rev=1707546&r1=1707545&r2=1707546&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionEnd.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionEnd.java Thu Oct 8 14:04:37 2015
@@ -135,6 +135,7 @@ public class ActionEnd extends ActionEnd
IWorkItemPerformanceIndividualKeeper wipik = new WorkItemPerformanceIndividualKeeper(logdir, wiNo);
IWorkItemPerformanceSummaryKeeper wipsk = jd.getWorkItemPerformanceSummaryKeeper();
wipsk.count();
+ long total_time = 0;
for(Properties properties : list) {
String name = properties.getProperty(keyName);
String uniqueName = normalizeUniqueName(properties.getProperty(keyUniqueName));
@@ -156,8 +157,11 @@ public class ActionEnd extends ActionEnd
mb.append(Standardize.Label.value.get()+value);
logger.debug(location, ILogger.null_id, mb.toString());
}
+ total_time += time;
}
wipik.publish();
+ // Add the aggregate values as if a no-name delegate
+ wipsk.dataAdd("TOTALS", "", total_time);
}
MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
mb.append(Standardize.Label.size.get()+size);
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java?rev=1707546&r1=1707545&r2=1707546&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java Thu Oct 8 14:04:37 2015
@@ -1872,8 +1872,14 @@ public class DuccHandler extends DuccAbs
ArrayList <UimaStatistic> uimaStats = new ArrayList<UimaStatistic>();
uimaStats.clear();
long analysisTime = 0;
+ PerformanceMetricsSummaryItem summaryValues = null;
for (Entry<String, PerformanceMetricsSummaryItem> entry : performanceMetricsSummaryMap.entrySet()) {
PerformanceMetricsSummaryItem item = entry.getValue();
+ // UIMA-4641 Totals are passed as if a delegate with an empty name
+ if (entry.getKey().isEmpty()) {
+ summaryValues = item;
+ continue;
+ }
String shortname = item.getDisplayName();
long anTime = item.getAnalysisTime();
long anMinTime = item.getAnalysisTimeMin();
@@ -1886,10 +1892,6 @@ public class DuccHandler extends DuccAbs
int numstats = uimaStats.size();
DecimalFormat formatter = new DecimalFormat("##0.0");
// pass 1
- double time_total = 0;
- for (int i = 0; i < numstats; ++i) {
- time_total += (uimaStats.get(i).getAnalysisTime());
- }
int counter = 0;
sb.append(trGet(counter++));
// Totals
@@ -1898,8 +1900,10 @@ public class DuccHandler extends DuccAbs
long ltime = 0;
// Total
sb.append("<td align=\"right\">");
- ltime = (long)time_total;
- sb.append(FormatHelper.duration(ltime,Precision.Tenths));
+ if (summaryValues != null) {
+ analysisTime = summaryValues.getAnalysisTime();
+ }
+ sb.append(FormatHelper.duration(analysisTime,Precision.Tenths));
// % of Total
sb.append("<td align=\"right\">");
sb.append(formatter.format(100));
@@ -1908,37 +1912,28 @@ public class DuccHandler extends DuccAbs
sb.append("<span class=\"health_purple\" title=\"average processing time per completed work item\">");
long avgMillis = 0;
if(casCount > 0) {
- avgMillis = (long) (analysisTime / (1.0 * casCount));
- }
- try {
- //ltime = job.getWiMillisAvg();
- ltime = avgMillis;
+ avgMillis = analysisTime / casCount; // No need to round up as will display only 10ths
}
- catch(Exception e) {
- ltime = (long)workItemStateReader.getMin();
- }
- sb.append(FormatHelper.duration(ltime,Precision.Tenths));
+ sb.append(FormatHelper.duration(avgMillis,Precision.Tenths));
sb.append("</span>");
// Min
sb.append("<td align=\"right\">");
sb.append("<span class=\"health_purple\" title=\"minimum processing time for any completed work item\">");
- try {
+ if (summaryValues != null) {
+ ltime = summaryValues.getAnalysisTimeMin();
+ } else {
ltime = job.getWiMillisMin();
}
- catch(Exception e) {
- ltime = (long)workItemStateReader.getMin();
- }
sb.append(FormatHelper.duration(ltime,Precision.Tenths));
sb.append("</span>");
// Max
sb.append("<td align=\"right\">");
sb.append("<span class=\"health_purple\" title=\"maximum processing time for any completed work item\">");
- try {
+ if (summaryValues != null) {
+ ltime = summaryValues.getAnalysisTimeMax();
+ } else {
ltime = job.getWiMillisMax();
}
- catch(Exception e) {
- ltime = (long)workItemStateReader.getMin();
- }
sb.append(FormatHelper.duration(ltime,Precision.Tenths));
sb.append("</span>");
// pass 2
@@ -1955,7 +1950,7 @@ public class DuccHandler extends DuccAbs
sb.append(FormatHelper.duration(ltime,Precision.Tenths));
// % of Total
sb.append("<td align=\"right\">");
- double dtime = (time/time_total)*100;
+ double dtime = (time/analysisTime)*100;
sb.append(formatter.format(dtime));
// Avg
sb.append("<td align=\"right\">");