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/10/26 17:15:37 UTC

svn commit: r1766707 - /uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/LinuxProcessMetricsProcessor.java

Author: cwiklik
Date: Wed Oct 26 17:15:36 2016
New Revision: 1766707

URL: http://svn.apache.org/viewvc?rev=1766707&view=rev
Log:
UIMA-5047 Fixed NPE when computing CPU Usage while a process state=Initializing

Modified:
    uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/LinuxProcessMetricsProcessor.java

Modified: uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/LinuxProcessMetricsProcessor.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/LinuxProcessMetricsProcessor.java?rev=1766707&r1=1766706&r2=1766707&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/LinuxProcessMetricsProcessor.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/LinuxProcessMetricsProcessor.java Wed Oct 26 17:15:36 2016
@@ -320,8 +320,16 @@ public class LinuxProcessMetricsProcesso
 						.equals(ProcessState.Initializing)	
 						) {
 					if (agent.useCgroups && totalCpuUsageInMillis != -1) {
+						
+						long timeRunning = 1;
+						if ( process.getTimeWindowInit() != null ) {
+							timeRunning = process.getTimeWindowInit().getElapsedMillis();
+						}
+						if ( process.getTimeWindowRun() != null ) {
+							timeRunning += process.getTimeWindowRun().getElapsedMillis();
+						}
 						// normalize time in running state into seconds
-						percentCPU = Math.round(100*( (totalCpuUsageInMillis*1.0)/ (process.getTimeWindowRun().getElapsedMillis()*1.0)));
+						percentCPU = Math.round(100*( (totalCpuUsageInMillis*1.0)/ (timeRunning*1.0)));
 						process.setCpuTime( percentCPU );
 					} else {
 						process.setCpuTime(-1);   // -1 stands for N/A