Author: davsclaus
Date: Wed Apr 18 07:25:16 2012
New Revision: 1327399

URL: http://svn.apache.org/viewvc?rev=1327399&view=rev
Log:
CAMEL-4470: Load avg added to Camel karaf command. Thanks to Scott 
England-Sullivan for the patch.

Added:
    camel/trunk/platforms/karaf/commands/src/main/resources/OSGI-INF/bundle.info
Modified:
    
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextInfo.java
    
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteInfo.java

Modified: 
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextInfo.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextInfo.java?rev=1327399&r1=1327398&r2=1327399&view=diff
==============================================================================
--- 
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextInfo.java
 (original)
+++ 
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextInfo.java
 Wed Apr 18 07:25:16 2012
@@ -16,9 +16,16 @@
  */
 package org.apache.camel.karaf.commands;
 
+import java.util.Iterator;
+import java.util.Set;
+
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.Route;
+import org.apache.camel.management.DefaultManagementAgent;
 import org.apache.felix.gogo.commands.Argument;
 import org.apache.felix.gogo.commands.Command;
 import org.apache.karaf.shell.console.OsgiCommandSupport;
@@ -52,6 +59,18 @@ public class ContextInfo extends OsgiCom
         System.out.println(StringEscapeUtils.unescapeJava("\tVersion: " + 
camelContext.getVersion()));
         System.out.println(StringEscapeUtils.unescapeJava("\tStatus: " + 
camelContext.getStatus()));
         System.out.println(StringEscapeUtils.unescapeJava("\tUptime: " + 
camelContext.getUptime()));
+        
+        MBeanServer mBeanServer = 
camelContext.getManagementStrategy().getManagementAgent().getMBeanServer();
+        Set<ObjectName> set = mBeanServer.queryNames(new 
ObjectName(DefaultManagementAgent.DEFAULT_DOMAIN + ":type=context,name=\"" + 
name + "\",*"), null);
+        Iterator<ObjectName> iterator = set.iterator();
+        if (iterator.hasNext()) {
+            ObjectName contextMBean = iterator.next();
+            String load01 = (String) mBeanServer.getAttribute(contextMBean, 
"Load01");
+            String load05 = (String) mBeanServer.getAttribute(contextMBean, 
"Load05");
+            String load15 = (String) mBeanServer.getAttribute(contextMBean, 
"Load15");
+            System.out.println(StringEscapeUtils.unescapeJava("\tLoad Avg: " + 
load01 + ", " + load05 + ", " + load15));
+        }
+        
         System.out.println("");
         
System.out.println(StringEscapeUtils.unescapeJava("\u001B[1mAdvanced\u001B[0m"));
         System.out.println(StringEscapeUtils.unescapeJava("\tAuto Startup: " + 
camelContext.isAutoStartup()));
@@ -83,6 +102,7 @@ public class ContextInfo extends OsgiCom
         for (String language : camelContext.getLanguageNames()) {
             System.out.println(StringEscapeUtils.unescapeJava("\t" + 
language));
         }
+        
         return null;
     }
 

Modified: 
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteInfo.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteInfo.java?rev=1327399&r1=1327398&r2=1327399&view=diff
==============================================================================
--- 
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteInfo.java
 (original)
+++ 
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteInfo.java
 Wed Apr 18 07:25:16 2012
@@ -92,7 +92,11 @@ public class RouteInfo extends OsgiComma
                 System.out.println(StringEscapeUtils.unescapeJava("\tTotal 
Processing Time: " + totalProcessingTime + "ms"));
                 Long lastProcessingTime = (Long) 
mBeanServer.getAttribute(routeMBean, "LastProcessingTime");
                 System.out.println(StringEscapeUtils.unescapeJava("\tLast 
Processing Time: " + lastProcessingTime + "ms"));
-
+                String load01 = (String) mBeanServer.getAttribute(routeMBean, 
"Load01");
+                String load05 = (String) mBeanServer.getAttribute(routeMBean, 
"Load05");
+                String load15 = (String) mBeanServer.getAttribute(routeMBean, 
"Load15");
+                System.out.println(StringEscapeUtils.unescapeJava("\tLoad Avg: 
" + load01 + ", " + load05 + ", " + load15));
+                
                 // Test for null to see if a any exchanges have been processed 
first to avoid NPE
                 Object firstExchangeTimestampObj = 
mBeanServer.getAttribute(routeMBean, "FirstExchangeCompletedTimestamp");
                 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd 
HH:mm:ss");

Added: 
camel/trunk/platforms/karaf/commands/src/main/resources/OSGI-INF/bundle.info
URL: 
http://svn.apache.org/viewvc/camel/trunk/platforms/karaf/commands/src/main/resources/OSGI-INF/bundle.info?rev=1327399&view=auto
==============================================================================
--- 
camel/trunk/platforms/karaf/commands/src/main/resources/OSGI-INF/bundle.info 
(added)
+++ 
camel/trunk/platforms/karaf/commands/src/main/resources/OSGI-INF/bundle.info 
Wed Apr 18 07:25:16 2012
@@ -0,0 +1,26 @@
+\u001B[1mSYNOPSIS\u001B[0m
+    ${project.name}
+
+    ${project.description}
+
+    Maven URL:
+        
\u001B[33mmvn:${project.groupId}/${project.artifactId}/${project.version}\u001B[0m
+
+\u001B[1mDESCRIPTION\u001B[0m
+    This bundle provides the Karaf shell commands to manipulate and manage 
Camel Components.
+
+    The following commands are available:
+    \u001B[36mcamel:context-info\u001B[0m Display detailed information about a 
Camel context.
+    \u001B[36mcamel:context-list\u001B[0m Lists all Camel contexts.
+    \u001B[36mcamel:context-start\u001B[0m Start a Camel context.
+    \u001B[36mcamel:context-stop\u001B[0m Stops a Camel context.
+    \u001B[36mcamel:route-info\u001B[0m Display information about a Camel 
route.
+    \u001B[36mcamel:route-list\u001B[0m Lists the Camel routes.
+    \u001B[36mcamel:route-resume\u001B[0m Resume a Camel route.
+    \u001B[36mcamel:route-show\u001B[0m Display the Camel route definition in 
XML.
+    \u001B[36mcamel:route-start\u001B[0m Start a Camel route.
+    \u001B[36mcamel:route-stop\u001B[0m Stops a Camel route.
+    \u001B[36mcamel:route-suspend\u001B[0m Suspends a Camel route.
+
+\u001B[1mSEE ALSO\u001B[0m
+    \u001B[36mhttp://camel.apache.org/karaf.html\u001B[0m
\ No newline at end of file


Reply via email to