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/01/11 20:58:56 UTC
svn commit: r1778351 -
/uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java
Author: degenaro
Date: Wed Jan 11 20:58:56 2017
New Revision: 1778351
URL: http://svn.apache.org/viewvc?rev=1778351&view=rev
Log:
UIMA-5245 fetch child process metrics from cgroups
> WS should handle -1 (when cgroups not configured) as N/A for Job Details values comprising PgIn, Swap, %CPU, RSS
Modified:
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-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=1778351&r1=1778350&r2=1778351&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 Jan 11 20:58:56 2017
@@ -136,7 +136,7 @@ public class DuccHandler extends DuccAbs
private static Messages messages = Messages.getInstance();
private static DuccId jobid = null;
- // These keys may have large values and be displayed witg Show/Hide buttons.
+ // These keys may have large values and be displayed with Show/Hide buttons.
// ducc.js must be updated if more than 4 are needed (services may have 4)
private final String[] n = {"classpath", "service_ping_classpath", "process_executable_args", "process_jvm_args", "environment"};
private final Set<String> hideableKeys = new HashSet<String>(Arrays.asList(n));
@@ -145,6 +145,8 @@ public class DuccHandler extends DuccAbs
private enum AllocationType { JD, MR, SPC, SPU, UIMA };
private enum LogType { POP, UIMA };
+ private String notAvailable = "N/A";
+
private DuccAuthenticator duccAuthenticator = DuccAuthenticator.getInstance();
private String duccVersion = duccContext+"/version";
@@ -782,15 +784,22 @@ public class DuccHandler extends DuccAbs
}
catch(Exception e) {
}
- double swap = process.getSwapUsageMax();
- if((swap * faults) > 0) {
- sb.append("<span class=\"health_red\""+">");
+ if(faults < 0) {
+ sb.append("<span class=\"health_black\""+">");
+ sb.append(notAvailable);
+ sb.append("</span>");
}
else {
- sb.append("<span class=\"health_black\""+">");
+ double swap = process.getSwapUsageMax();
+ if((swap * faults) > 0) {
+ sb.append("<span class=\"health_red\""+">");
+ }
+ else {
+ sb.append("<span class=\"health_black\""+">");
+ }
+ sb.append(faults);
+ sb.append("</span>");
}
- sb.append(faults);
- sb.append("</span>");
break;
}
}
@@ -807,34 +816,47 @@ public class DuccHandler extends DuccAbs
default:
if(!process.isActive()) {
double swap = process.getSwapUsageMax();
- swap = swap/Constants.GB;
- String displaySwap = formatter.format(swap);
- if(swap > 0) {
- sb.append("<span class=\"health_red\""+">");
+ if(swap < 0) {
+ sb.append("<span class=\"health_black\""+">");
+ sb.append(notAvailable);
+ sb.append("</span>");
}
else {
- sb.append("<span class=\"health_black\""+">");
+ swap = swap/Constants.GB;
+ String displaySwap = formatter.format(swap);
+ if(swap > 0) {
+ sb.append("<span class=\"health_red\""+">");
+ }
+ else {
+ sb.append("<span class=\"health_black\""+">");
+ }
+ sb.append(displaySwap);
+ sb.append("</span>");
}
- sb.append(displaySwap);
- sb.append("</span>");
}
else {
double swap = process.getSwapUsage();
- swap = swap/Constants.GB;
- String displaySwap = formatter.format(swap);
- double swapMax = process.getSwapUsageMax();
- swapMax = swapMax/Constants.GB;
- String displaySwapMax = formatter.format(swapMax);
- sb.append("<span title=\"max="+displaySwapMax+"\" align=\"right\" "+">");
- if(swap > 0) {
- sb.append("<span class=\"health_red\""+">");
+ if(swap < 0) {
+ sb.append("<span class=\"health_black\""+">");
+ sb.append(notAvailable);
+ sb.append("</span>");
}
else {
- sb.append("<span class=\"health_black\""+">");
+ swap = swap/Constants.GB;
+ String displaySwap = formatter.format(swap);
+ double swapMax = process.getSwapUsageMax();
+ swapMax = swapMax/Constants.GB;
+ String displaySwapMax = formatter.format(swapMax);
+ sb.append("<span title=\"max="+displaySwapMax+"\" align=\"right\" "+">");
+ if(swap > 0) {
+ sb.append("<span class=\"health_red\""+">");
+ }
+ else {
+ sb.append("<span class=\"health_black\""+">");
+ }
+ sb.append(displaySwap);
+ sb.append("</span>");
}
- sb.append(displaySwap);
- sb.append("</span>");
- sb.append("</span>");
}
break;
}
@@ -956,20 +978,35 @@ public class DuccHandler extends DuccAbs
if(process != null) {
if(process.isComplete()) {
double rss = process.getResidentMemoryMax();
- rss = rss/Constants.GB;
- String displayRss = formatter.format(rss);
- sb.append(displayRss);
+ if(rss < 0) {
+ sb.append("<span class=\"health_black\""+">");
+ sb.append(notAvailable);
+ sb.append("</span>");
+ }
+ else {
+ rss = rss/Constants.GB;
+ String displayRss = formatter.format(rss);
+ sb.append(displayRss);
+ }
+
}
else {
double rss = process.getResidentMemory();
- rss = rss/Constants.GB;
- String displayRss = formatter.format(rss);
- double rssMax = process.getResidentMemoryMax();
- rssMax = rssMax/Constants.GB;
- String displayRssMax = formatter.format(rssMax);
- sb.append("<span title=\"max="+displayRssMax+"\" align=\"right\" "+">");
- sb.append(displayRss);
- sb.append("</span>");
+ if(rss < 0) {
+ sb.append("<span class=\"health_black\""+">");
+ sb.append(notAvailable);
+ sb.append("</span>");
+ }
+ else {
+ rss = rss/Constants.GB;
+ String displayRss = formatter.format(rss);
+ double rssMax = process.getResidentMemoryMax();
+ rssMax = rssMax/Constants.GB;
+ String displayRssMax = formatter.format(rssMax);
+ sb.append("<span title=\"max="+displayRssMax+"\" align=\"right\" "+">");
+ sb.append(displayRss);
+ sb.append("</span>");
+ }
}
}
return sb.toString();