You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by cw...@apache.org on 2016/09/19 13:20:29 UTC

svn commit: r1761433 - /uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/CGroupsManager.java

Author: cwiklik
Date: Mon Sep 19 13:20:28 2016
New Revision: 1761433

URL: http://svn.apache.org/viewvc?rev=1761433&view=rev
Log:
UIMA-5047 ,modified to return long for CPU

Modified:
    uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/CGroupsManager.java

Modified: uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/CGroupsManager.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/CGroupsManager.java?rev=1761433&r1=1761432&r2=1761433&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/CGroupsManager.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/CGroupsManager.java Mon Sep 19 13:20:28 2016
@@ -490,24 +490,36 @@ public class CGroupsManager {
 		return false;
 	}
 
-	public String getCpuUsage(String containerId ) throws Exception {
-		String usage = "0";
-		String file = getCGroupLocation("cpuacct")+containerId+System.getProperty("file.separator")+"cpuacct.stat";
-		agentLogger.trace("getCpuUsage", null, "CPUACCT.STAT file:"+file);
+	public long getCpuUsage(String containerId ) throws Exception {
+		long usage = 0;
+//		String file = getCGroupLocation("cpuacct")+containerId+System.getProperty("file.separator")+"cpuacct.stat";
+		String file = getCGroupLocation("cpuacct")+containerId+System.getProperty("file.separator")+"cpuacct.usage";
+		agentLogger.trace("getCpuUsage", null, "CPUACCT.USAGE file:"+file);
 		File f = new File(file);
 		if ( f.exists() ) {
 			InputStreamReader isr = new InputStreamReader(new FileInputStream(f));
 			BufferedReader br = new BufferedReader(isr);
 			String line;
 			try {
+//				String cpu;
 				while ((line = br.readLine()) != null) {
-					agentLogger.trace("getCpuUsage", null, "CPUACCT.STAT Line:"+line);
+					agentLogger.trace("getCpuUsage", null, "CPUACCT.USAGE Line:"+line);
+/*
 					// The line read from cpuacct.stat has: NAME VALUE syntax. 
 					// Need just the VALUE part
-					usage = (line.trim().split(" "))[1];  // get the CPU in user mode
+					if ( line.trim().length() > 0 ) {
+						cpu = (line.trim().split(" "))[1];  // get the CPU in user mode
+						// convert to long and accumulate. Need cpu both in user and system mode
+						usage += Long.parseLong(cpu);
+					}
+					*/
+					usage = Long.parseLong(line.trim());
 					break;
 				}
-			} finally {
+			} catch ( Exception e) {
+				agentLogger.error("getCpuUsage", null, e);
+			}
+			finally {
 				if (isr != null) {
 					isr.close();
 				}