Author: davsclaus Date: Wed Apr 18 07:29:32 2012 New Revision: 1327401 URL: http://svn.apache.org/viewvc?rev=1327401&view=rev Log: CAMEL-4470: Load avg added to Camel karaf command. Thanks to Scott England-Sullivan for the patch.
Added: camel/branches/camel-2.9.x/platforms/karaf/commands/src/main/resources/OSGI-INF/bundle.info - copied unchanged from r1327399, camel/trunk/platforms/karaf/commands/src/main/resources/OSGI-INF/bundle.info Modified: camel/branches/camel-2.9.x/ (props changed) camel/branches/camel-2.9.x/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextInfo.java camel/branches/camel-2.9.x/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteInfo.java Propchange: camel/branches/camel-2.9.x/ ------------------------------------------------------------------------------ Merged /camel/trunk:r1327399 Propchange: camel/branches/camel-2.9.x/ ------------------------------------------------------------------------------ Binary property 'svnmerge-integrated' - no diff available. Modified: camel/branches/camel-2.9.x/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextInfo.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextInfo.java?rev=1327401&r1=1327400&r2=1327401&view=diff ============================================================================== --- camel/branches/camel-2.9.x/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextInfo.java (original) +++ camel/branches/camel-2.9.x/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextInfo.java Wed Apr 18 07:29:32 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/branches/camel-2.9.x/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteInfo.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteInfo.java?rev=1327401&r1=1327400&r2=1327401&view=diff ============================================================================== --- camel/branches/camel-2.9.x/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteInfo.java (original) +++ camel/branches/camel-2.9.x/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteInfo.java Wed Apr 18 07:29:32 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");