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 2018/07/30 18:38:47 UTC
svn commit: r1837079 - in /uima/uima-ducc/trunk:
uima-ducc-common/src/main/java/org/apache/uima/ducc/common/jd/files/
uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/
Author: degenaro
Date: Mon Jul 30 18:38:47 2018
New Revision: 1837079
URL: http://svn.apache.org/viewvc?rev=1837079&view=rev
Log:
UIMA-5851 DUCC Web Server (WS) displays ever increasing Processing Time on Work Items tab
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-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java
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=1837079&r1=1837078&r2=1837079&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 Mon Jul 30 18:38:47 2018
@@ -58,11 +58,9 @@ public interface IWorkItemState extends
public void investmentReset();
public long getMillisAtStart();
- public long getMillisOverhead();
public long getMillisProcessing();
- public long getMillisInvestment();
- public long getMillisOverhead(long now);
- public long getMillisProcessing(long now);
- public long getMillisInvestment(long now);
+ public long getMillisOverhead(long refTime);
+ public long getMillisProcessing(long refTime);
+ public long getMillisInvestment(long refTime);
}
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=1837079&r1=1837078&r2=1837079&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 Mon Jul 30 18:38:47 2018
@@ -180,11 +180,7 @@ public class WorkItemState implements IW
return millisAtStart;
}
- public long getMillisOverhead() {
- return getMillisOverhead(System.currentTimeMillis());
- }
-
- public long getMillisOverhead(long now) {
+ public long getMillisOverhead(long refTime) {
long retVal = 0;
if(millisAtStart > 0) {
if(millisAtQueued > 0) {
@@ -194,7 +190,9 @@ public class WorkItemState implements IW
retVal = millisAtOperating - millisAtStart;
}
else {
- retVal = now - millisAtStart;
+ if(refTime > millisAtStart) {
+ retVal = refTime - millisAtStart;
+ }
}
}
return retVal;
@@ -204,31 +202,31 @@ public class WorkItemState implements IW
return getMillisProcessing(System.currentTimeMillis());
}
- public long getMillisProcessing(long now) {
+ public long getMillisProcessing(long refTime) {
long retVal = 0;
if(millisAtOperating > 0) {
if(millisAtFinish > 0) {
retVal = millisAtFinish - millisAtOperating;
}
else {
- retVal = now - millisAtOperating;
+ if(refTime > millisAtOperating) {
+ retVal = refTime - millisAtOperating;
+ }
}
}
return retVal;
}
- public long getMillisInvestment() {
- return getMillisInvestment(System.currentTimeMillis());
- }
-
- public long getMillisInvestment(long now) {
+ public long getMillisInvestment(long refTime) {
long retVal = 0;
if(millisAtFinish < 0) {
if(millisAtInvestment > 0) {
- retVal = now - millisAtInvestment;
+ if(refTime > millisAtInvestment) {
+ retVal = refTime - millisAtInvestment;
+ }
}
else {
- retVal = getMillisProcessing();
+ retVal = getMillisProcessing(refTime);
}
}
return retVal;
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=1837079&r1=1837078&r2=1837079&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 Mon Jul 30 18:38:47 2018
@@ -1299,6 +1299,18 @@ public class DuccHandler extends DuccAbs
}
return adjustedTime;
}
+
+ private long getReferenceTime(IDuccWorkJob job) {
+ long time = System.currentTimeMillis();
+ if(job != null) {
+ if(job.isCompleted()) {
+ IDuccStandardInfo stdInfo = job.getStandardInfo();
+ time = stdInfo.getDateOfCompletionMillis();
+ }
+ }
+ return time;
+ }
+
private void handleDuccServletJobWorkitemsData(String target,Request baseRequest,HttpServletRequest request,HttpServletResponse response)
throws IOException, ServletException
{
@@ -1309,7 +1321,7 @@ public class DuccHandler extends DuccAbs
DuccWorkJob job = getJob(jobNo);
if(job != null) {
try {
- long now = System.currentTimeMillis();
+ long refTime = getReferenceTime(job);
String directory = job.getLogDirectory()+jobNo;
EffectiveUser eu = EffectiveUser.create(request);
long wiVersion = job.getWiVersion();
@@ -1410,12 +1422,12 @@ public class DuccHandler extends DuccAbs
row.append("<td align=\"right\">");
row.append(fmt_startTime);
// Queuing Time (sec)
- time = getAdjustedTime(wis.getMillisOverhead(), job);
+ time = getAdjustedTime(wis.getMillisOverhead(refTime), job);
time = time/1000;
row.append("<td align=\"right\">");
row.append(formatter.format(time));
// Processing Time (sec)
- time = getAdjustedTime(wis.getMillisProcessing(now), job);
+ time = getAdjustedTime(wis.getMillisProcessing(refTime), job);
time = time/1000;
ptime = formatter.format(time);
row.append("<td align=\"right\">");
@@ -1432,7 +1444,7 @@ public class DuccHandler extends DuccAbs
row.append(ptime);
row.append("</span>");
// Investment Time (sec)
- time = getAdjustedTime(wis.getMillisInvestment(now), job);
+ time = getAdjustedTime(wis.getMillisInvestment(refTime), job);
time = time/1000;
itime = formatter.format(time);
row.append("<td align=\"right\">");