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