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 2014/11/18 16:44:11 UTC

svn commit: r1640375 - in /uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent: deploy/uima/UimaAsServiceConfiguration.java processors/LinuxProcessMetricsProcessor.java

Author: cwiklik
Date: Tue Nov 18 15:44:11 2014
New Revision: 1640375

URL: http://svn.apache.org/r1640375
Log:
UIMA-4077 Removed hard coded path to a script which calculates process swap usage. Fetch the name from System properties which loads from ducc.properties

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

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/deploy/uima/UimaAsServiceConfiguration.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/deploy/uima/UimaAsServiceConfiguration.java?rev=1640375&r1=1640374&r2=1640375&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/deploy/uima/UimaAsServiceConfiguration.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/deploy/uima/UimaAsServiceConfiguration.java Tue Nov 18 15:44:11 2014
@@ -36,6 +36,7 @@ import org.apache.uima.ducc.transport.Du
 import org.apache.uima.ducc.transport.DuccTransportConfiguration;
 import org.apache.uima.ducc.transport.dispatcher.DuccEventDispatcher;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
@@ -53,6 +54,9 @@ public class UimaAsServiceConfiguration 
 	RouteBuilder routeBuilder;
 	CamelContext camelContext;
 	
+	@Value("#{ systemProperties['ducc.uima-as.swap.usage.script'] }")
+	String swapUsageCollectorScript;
+	
 	/**
 	 * Creates Camel Router to handle incoming messages 
 	 * 

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/LinuxProcessMetricsProcessor.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/LinuxProcessMetricsProcessor.java?rev=1640375&r1=1640374&r2=1640375&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/LinuxProcessMetricsProcessor.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/LinuxProcessMetricsProcessor.java Tue Nov 18 15:44:11 2014
@@ -166,17 +166,19 @@ public class LinuxProcessMetricsProcesso
         Future<ProcessCpuUsage> processCpuUsage = null;
         String[] cgroupPids = new String[0];
         try {
+          String swapUsageScript = System.getProperty("ducc.agent.swap.usage.script");
+          
           if ( agent.useCgroups ) {
         	String containerId = agent.cgroupsManager.getContainerId(managedProcess);
             cgroupPids = 
                 agent.cgroupsManager.getPidsInCgroup(containerId);
-            
             for( String pid : cgroupPids ) {
-                DuccProcessSwapSpaceUsage processSwapSpaceUsage = new DuccProcessSwapSpaceUsage(
-                        pid, managedProcess.getOwner(), DUCC_HOME
-                                + "/admin/ducc_get_process_swap_usage.sh", logger);
-                totalSwapUsage += processSwapSpaceUsage.getSwapUsage();
-
+            	// the swap usage script is defined in ducc.properties
+                if ( swapUsageScript != null ) {
+                	DuccProcessSwapSpaceUsage processSwapSpaceUsage = new DuccProcessSwapSpaceUsage(
+                            pid, managedProcess.getOwner(), swapUsageScript, logger);
+                    totalSwapUsage += processSwapSpaceUsage.getSwapUsage();
+                }
                 
                 ProcessMajorFaultCollector processMajorFaultUsageCollector = 
                 		new ProcessMajorFaultCollector(logger, pid);
@@ -221,10 +223,11 @@ public class LinuxProcessMetricsProcesso
                 rStatmFile.close();
             }
           } else {
-             DuccProcessSwapSpaceUsage processSwapSpaceUsage = new DuccProcessSwapSpaceUsage(
-             process.getPID(), managedProcess.getOwner(), DUCC_HOME
-                   + "/admin/ducc_get_process_swap_usage.sh", logger);
-             totalSwapUsage = processSwapSpaceUsage.getSwapUsage();
+              if ( swapUsageScript != null ) {
+            	  DuccProcessSwapSpaceUsage processSwapSpaceUsage = new DuccProcessSwapSpaceUsage(
+            	             process.getPID(), managedProcess.getOwner(), swapUsageScript, logger);
+            	  totalSwapUsage = processSwapSpaceUsage.getSwapUsage();
+              }
 
              ProcessMajorFaultCollector processMajorFaultUsageCollector = 
             		 new ProcessMajorFaultCollector(logger, process.getPID());