[jboss-svn-commits] JBL Code SVN: r34412 - labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/java/org/jboss/jbossts/performance/profiler/implementation.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Jul 30 06:06:37 EDT 2010


Author: whitingjr
Date: 2010-07-30 06:06:36 -0400 (Fri, 30 Jul 2010)
New Revision: 34412

Added:
   labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/java/org/jboss/jbossts/performance/profiler/implementation/JBossProfiler.java
Log:
Added JBossProfiler implementation.

Added: labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/java/org/jboss/jbossts/performance/profiler/implementation/JBossProfiler.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/java/org/jboss/jbossts/performance/profiler/implementation/JBossProfiler.java	                        (rev 0)
+++ labs/jbosstm/workspace/whitingjr/trunk/performance/src/main/java/org/jboss/jbossts/performance/profiler/implementation/JBossProfiler.java	2010-07-30 10:06:36 UTC (rev 34412)
@@ -0,0 +1,80 @@
+package org.jboss.jbossts.performance.profiler.implementation;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang.reflect.MethodUtils;
+import org.apache.log4j.Logger;
+import org.jboss.jbossts.performance.profiler.AbstractProfiler;
+
+public class JBossProfiler extends AbstractProfiler
+{
+   private Logger logger  = Logger.getLogger(JBossProfiler.class);
+   @Override
+   protected String getClearMethodName()
+   {
+      return StringUtils.EMPTY;
+   }
+
+   @Override
+   protected String getShutDownMethodName()
+   {
+      return StringUtils.EMPTY;
+   }
+
+   @Override
+   protected String getStartCPURecordingMethodName()
+   {
+      return StringUtils.EMPTY;
+   }
+
+   @Override
+   protected String getStartMethodName()
+   {
+      /**
+       * The implementation is not going to perform fast however it is not called often nor
+       * needs to be quick.
+       */
+      try
+      {
+         List<String > args = new ArrayList<String>();
+         args.add("-Djboss-profiler-client.properties=profile.properties");
+         args.add("startProfiler");
+         MethodUtils.invokeMethod(getInstance(), "main", args.toArray(new String[]{})); 
+      }
+      catch (Exception e)
+      {
+         logger.error(e.getMessage(), e);
+      }
+      
+      return StringUtils.EMPTY; // this causes a no-operation in the caller
+   }
+
+   @Override
+   protected String getStopMethodName()
+   {
+      // TODO Auto-generated method stub
+      return StringUtils.EMPTY;
+   }
+
+   @Override
+   protected String getSuspendMethodName()
+   {
+      // TODO Auto-generated method stub
+      return StringUtils.EMPTY;
+   }
+
+   @Override
+   protected boolean usesStaticMethods()
+   {
+      // TODO Auto-generated method stub
+      return false;
+   }
+   
+   public JBossProfiler()
+   {
+      super("org.jboss.profiler.client.cmd.Client");
+   }
+
+}



More information about the jboss-svn-commits mailing list