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();