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 2017/12/06 19:02:48 UTC

svn commit: r1817313 - in /uima/uima-ducc/trunk: uima-ducc-common/src/main/java/org/apache/uima/ducc/common/jd/files/ uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/ uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/ser...

Author: degenaro
Date: Wed Dec  6 19:02:48 2017
New Revision: 1817313

URL: http://svn.apache.org/viewvc?rev=1817313&view=rev
Log:
UIMA-5602 DUCC Web Server (WS) Job Details page Workitem tab Start Time column

Modified:
    uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/jd/files/IWorkItemState.java
    uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/jd/files/WorkItemState.java
    uima/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/DuccWorkJob.java
    uima/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/IDuccWorkJob.java
    uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java
    uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/Helper.java
    uima/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/job.details.table.workitems.jsp

Modified: uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/jd/files/IWorkItemState.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/jd/files/IWorkItemState.java?rev=1817313&r1=1817312&r2=1817313&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/jd/files/IWorkItemState.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/jd/files/IWorkItemState.java Wed Dec  6 19:02:48 2017
@@ -57,6 +57,7 @@ public interface IWorkItemState extends
 	
 	public void investmentReset();
 	
+	public long getMillisAtStart();
 	public long getMillisOverhead();
 	public long getMillisProcessing();
 	public long getMillisInvestment();

Modified: uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/jd/files/WorkItemState.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/jd/files/WorkItemState.java?rev=1817313&r1=1817312&r2=1817313&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/jd/files/WorkItemState.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/jd/files/WorkItemState.java Wed Dec  6 19:02:48 2017
@@ -176,6 +176,10 @@ public class WorkItemState implements IW
 		state = State.preempt;
 	}
 
+	public long getMillisAtStart() {
+		return millisAtStart;
+	}
+	
 	public long getMillisOverhead() {
 		return getMillisOverhead(System.currentTimeMillis());
 	}

Modified: uima/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/DuccWorkJob.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/DuccWorkJob.java?rev=1817313&r1=1817312&r2=1817313&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/DuccWorkJob.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/DuccWorkJob.java Wed Dec  6 19:02:48 2017
@@ -19,6 +19,7 @@
 package org.apache.uima.ducc.transport.event.common;
 
 import java.io.File;
+import java.util.Map.Entry;
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicLong;
 
@@ -99,6 +100,22 @@ public class DuccWorkJob extends ADuccWo
         return userLogDir;
     }
 
+    // we expect exactly 0 or 1 process in the JD process map!
+    public IDuccProcess getDriverProcess() {
+    	IDuccProcess retVal = null;
+    	try {
+    		IDuccProcessMap map = getDriver().getProcessMap();
+    		for(Entry<DuccId, IDuccProcess> entry : map.entrySet()) {
+    			retVal = entry.getValue();
+    			break;
+    		}
+    	}
+    	catch(Exception e) {
+    		// no worries
+    	}
+    	return retVal;
+    }
+    
 	public DuccWorkPopDriver getDriver() {
 		return driver;
 	}

Modified: uima/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/IDuccWorkJob.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/IDuccWorkJob.java?rev=1817313&r1=1817312&r2=1817313&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/IDuccWorkJob.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/IDuccWorkJob.java Wed Dec  6 19:02:48 2017
@@ -51,6 +51,8 @@ public interface IDuccWorkJob extends Id
 	public DuccWorkPopDriver getDriver();
 	public void setDriver(DuccWorkPopDriver driver);
 
+	public IDuccProcess getDriverProcess();
+	
 	public String getjobBroker();
 	public void setJobBroker(String broker);
 

Modified: uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java?rev=1817313&r1=1817312&r2=1817313&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java Wed Dec  6 19:02:48 2017
@@ -1349,15 +1349,18 @@ public class DuccHandler extends DuccAbs
 							// Status
 							row.append("<td align=\"right\">");
 							row.append("display");
-							// Queuing Time (sec)
+							// Start Time 
 							row.append("<td align=\"right\">");
 							row.append("limit");
-							// Processing Time (sec)
+							// Queuing Time (sec)
 							row.append("<td align=\"right\">");
 							row.append("reached");
+							// Processing Time (sec)
+							row.append("<td align=\"right\">");
+							row.append("*****");
 							// Investment Time (sec)
 							row.append("<td align=\"right\">");
-							row.append("reached");
+							row.append("*****");
 							// Node (IP)
 							row.append("<td align=\"right\">");
 							row.append("*****");
@@ -1394,6 +1397,22 @@ public class DuccHandler extends DuccAbs
 							break;
 						}
 						row.append(status);
+						// Start Time 
+						String fmt_startTime = "";
+						IDuccProcess jd = job.getDriverProcess();
+						if(jd != null) {
+							long jdStartTime = Helper.getTimeStart(jd);
+							if(jdStartTime >= 0) {
+								long wiStartTime = wis.getMillisAtStart();
+								if(wiStartTime > jdStartTime) {
+									double elapsedTime = wiStartTime - jdStartTime;
+									elapsedTime = elapsedTime/1000;
+									fmt_startTime = formatter.format(elapsedTime);
+								}
+							}
+						}
+						row.append("<td align=\"right\">");
+						row.append(fmt_startTime);
 						// Queuing Time (sec)
 						time = getAdjustedTime(wis.getMillisOverhead(), job);
 						time = time/1000;

Modified: uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/Helper.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/Helper.java?rev=1817313&r1=1817312&r2=1817313&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/Helper.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/Helper.java Wed Dec  6 19:02:48 2017
@@ -449,6 +449,23 @@ public class Helper {
 		return retVal;
 	}
 	
+	public static long getTimeStart(IDuccProcess process) {
+		String location = "getTimeStart";
+		long retVal = -1;
+		if(process != null) {
+			try {
+				TimeWindow t = (TimeWindow) process.getTimeWindowRun();
+				if(t != null) {
+					retVal = t.getStartLong();
+				}
+			}
+			catch(Exception e) {
+				duccLogger.trace(location, jobid, "no worries", e);
+			}
+		}
+		return retVal;
+	}
+	
 	public static String getTimeRun(IDuccWorkJob job, IDuccProcess process, AllocationType type) {
 		String location = "getTimeRun";
 		StringBuffer sb = new StringBuffer();

Modified: uima/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/job.details.table.workitems.jsp
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/job.details.table.workitems.jsp?rev=1817313&r1=1817312&r2=1817313&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/job.details.table.workitems.jsp (original)
+++ uima/uima-ducc/trunk/uima-ducc-web/src/main/webapp/root/job.details.table.workitems.jsp Wed Dec  6 19:02:48 2017
@@ -28,6 +28,7 @@ under the License.
     <th class="sorttable_numeric" title="The system assigned work item sequence number">SeqNo</th>
     <th class="none"              title="The user assigned work item identity">Id</th>
     <th class="none"              title="The work item status, normally operating or ended">Status</th>
+    <th class="none"              title="The work item start time, relative to job driver start time">Start</th>
     <th class="sorttable_numeric" title="The approx. number of seconds elapsed between work item (a) requested for processing and (b) start of processing">Delivery<br>Time</th>
     <th class="sorttable_numeric" title="The approx. number of seconds elapsed between work item (a) start of processing and (b) end of processing">Process<br>Time</th>
     <th class="sorttable_numeric" title="The approx. number of seconds invested in current epoch">Investment<br>Time</th>