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