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/12/13 16:32:47 UTC

svn commit: r1550749 - /uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/jd/files/WorkItemStateManager.java

Author: degenaro
Date: Fri Dec 13 15:32:46 2013
New Revision: 1550749

URL: http://svn.apache.org/r1550749
Log:
UIMA-2626 DUCC webserver (WS) Job Performance tab shows meaningless total for min/max

Modified:
    uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/jd/files/WorkItemStateManager.java

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/jd/files/WorkItemStateManager.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/jd/files/WorkItemStateManager.java?rev=1550749&r1=1550748&r2=1550749&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/jd/files/WorkItemStateManager.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/jd/files/WorkItemStateManager.java Fri Dec 13 15:32:46 2013
@@ -19,6 +19,7 @@
 package org.apache.uima.ducc.common.jd.files;
 
 import java.io.IOException;
+import java.util.Map.Entry;
 import java.util.concurrent.ConcurrentSkipListMap;
 
 public class WorkItemStateManager {
@@ -146,4 +147,69 @@ public class WorkItemStateManager {
 		wis.setNode(node);
 		wis.setPid(pid);
 	}
+	
+	public double getMin() {
+		double retVal = -1;
+		try {
+			for (Entry<Long, IWorkItemState> entry : map.entrySet()) {
+				IWorkItemState workItemState = entry.getValue();
+				switch(workItemState.getState()) {
+				case ended:
+					long millis = workItemState.getMillisProcessing();
+					if(millis < retVal) {
+						retVal = millis;
+					}
+					else if(retVal < 0) {
+						retVal = millis;
+					}
+					break;
+				}
+			}
+		}
+		catch(Throwable t) {
+		}
+		return retVal;
+	}
+	
+	public double getMax() {
+		double retVal = -1;
+		try {
+			for (Entry<Long, IWorkItemState> entry : map.entrySet()) {
+				IWorkItemState workItemState = entry.getValue();
+				switch(workItemState.getState()) {
+				case ended:
+					long millis = workItemState.getMillisProcessing();
+					if(millis > retVal) {
+						retVal = millis;
+					}
+					break;
+				}
+			}
+		}
+		catch(Throwable t) {
+		}
+		return retVal;
+	}
+	
+	public double getAvg() {
+		double retVal = 0;
+		try {
+			int count = 0;
+			for (Entry<Long, IWorkItemState> entry : map.entrySet()) {
+				IWorkItemState workItemState = entry.getValue();
+				switch(workItemState.getState()) {
+				case ended:
+					retVal += workItemState.getMillisProcessing();
+					count++;
+					break;
+				}
+			}
+			if(count > 0) {
+				retVal = retVal / count;
+			}
+		}
+		catch(Throwable t) {
+		}
+		return retVal;
+	}
 }