[jboss-cvs] JBoss Profiler SVN: r498 - in branches/JBossProfiler2: src/main/org/jboss/profiler/agent and 4 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Sun Nov 16 21:08:26 EST 2008


Author: jesper.pedersen
Date: 2008-11-16 21:08:26 -0500 (Sun, 16 Nov 2008)
New Revision: 498

Modified:
   branches/JBossProfiler2/doc/README.txt
   branches/JBossProfiler2/src/main/org/jboss/profiler/agent/Agent.java
   branches/JBossProfiler2/src/main/org/jboss/profiler/as/Profiler.java
   branches/JBossProfiler2/src/main/org/jboss/profiler/as/ProfilerMBean.java
   branches/JBossProfiler2/src/main/org/jboss/profiler/client/cmd/Client.java
   branches/JBossProfiler2/src/main/org/jboss/profiler/connectors/AbstractHandler.java
   branches/JBossProfiler2/src/main/org/jboss/profiler/shared/CommandType.java
Log:
Implement listClasses to list profiled classes in agent

Modified: branches/JBossProfiler2/doc/README.txt
===================================================================
--- branches/JBossProfiler2/doc/README.txt	2008-11-17 01:41:06 UTC (rev 497)
+++ branches/JBossProfiler2/doc/README.txt	2008-11-17 02:08:26 UTC (rev 498)
@@ -77,6 +77,7 @@
        diff           : Compare snapshots
        add            : Add classes (public|package|protected|private)
        remove         : Remove classes
+       list           : List classes
 
 Host defaults to 'localhost'.
 Port defaults to '5400'.
@@ -101,8 +102,8 @@
 Client diff oldsnapshot.jps newsnapshot.jps
 Client add org.jboss.profiler.test.* public
 Client remove org.jboss.profiler.test.*
+Client list
 
-
 jboss-profiler.properties:
 --------------------------
 enable                  Enable / disable profiler
@@ -419,3 +420,4 @@
   ./twiddle.sh invoke 'org.jboss.profiler:service=Profiler' clearSnapshots
   ./twiddle.sh invoke 'org.jboss.profiler:service=Profiler' addClasses org.jboss.test.* public
   ./twiddle.sh invoke 'org.jboss.profiler:service=Profiler' removeClasses org.jboss.test.*
+  ./twiddle.sh invoke 'org.jboss.profiler:service=Profiler' listClasses

Modified: branches/JBossProfiler2/src/main/org/jboss/profiler/agent/Agent.java
===================================================================
--- branches/JBossProfiler2/src/main/org/jboss/profiler/agent/Agent.java	2008-11-17 01:41:06 UTC (rev 497)
+++ branches/JBossProfiler2/src/main/org/jboss/profiler/agent/Agent.java	2008-11-17 02:08:26 UTC (rev 498)
@@ -755,6 +755,26 @@
   }
     
   /**
+   * List classes
+   * @return The classes
+   */
+  public static String[] listClasses() {
+    String[] result = new String[includeList.size()];
+    for (int i = 0; i < includeList.size(); i++) {
+      String s = includeList.get(i);
+
+      if (s.endsWith("/")) {
+        s = s.substring(0, s.length() - 1) + ".*";
+      }
+
+      s = s.replace('/', '.');
+
+      result[i] = s;
+    }
+    return result;
+  }
+
+  /**
    * Redefine
    * @param clz The classes
    * @param instrument Should the classes be instrumented ?

Modified: branches/JBossProfiler2/src/main/org/jboss/profiler/as/Profiler.java
===================================================================
--- branches/JBossProfiler2/src/main/org/jboss/profiler/as/Profiler.java	2008-11-17 01:41:06 UTC (rev 497)
+++ branches/JBossProfiler2/src/main/org/jboss/profiler/as/Profiler.java	2008-11-17 02:08:26 UTC (rev 498)
@@ -191,6 +191,15 @@
   }
 
   /**
+   * List classes
+   * @return The classes
+   */
+  public String[] listClasses() {
+    LocalHandler lh = new LocalHandler();
+    return (String[])lh.handleCommand(new Command(CommandType.LIST_CLASSES));
+  }
+
+  /**
    * Clear snapshots
    */
   public void clearSnapshots() {

Modified: branches/JBossProfiler2/src/main/org/jboss/profiler/as/ProfilerMBean.java
===================================================================
--- branches/JBossProfiler2/src/main/org/jboss/profiler/as/ProfilerMBean.java	2008-11-17 01:41:06 UTC (rev 497)
+++ branches/JBossProfiler2/src/main/org/jboss/profiler/as/ProfilerMBean.java	2008-11-17 02:08:26 UTC (rev 498)
@@ -123,6 +123,12 @@
   public void removeClasses(String classes);
 
   /**
+   * List classes
+   * @return The classes
+   */
+  public String[] listClasses();
+
+  /**
    * Clear snapshots
    */
   public void clearSnapshots();

Modified: branches/JBossProfiler2/src/main/org/jboss/profiler/client/cmd/Client.java
===================================================================
--- branches/JBossProfiler2/src/main/org/jboss/profiler/client/cmd/Client.java	2008-11-17 01:41:06 UTC (rev 497)
+++ branches/JBossProfiler2/src/main/org/jboss/profiler/client/cmd/Client.java	2008-11-17 02:08:26 UTC (rev 498)
@@ -73,6 +73,7 @@
     System.out.println("       diff           : Difference between snapshots");
     System.out.println("       add            : Add classes (repository must be enabled)");
     System.out.println("       remove         : Remove classes (repository must be enabled)");
+    System.out.println("       list           : List classes");
   }
 
   /**
@@ -231,6 +232,8 @@
             cmd = new Command(CommandType.REMOVE_CLASSES, new Object[] { args[i] } );
             i++;
           }
+        } else if (cmdStr.equalsIgnoreCase("list")) {
+          cmd = new Command(CommandType.LIST_CLASSES);
         } else {
           usage();
           return;
@@ -260,7 +263,8 @@
               SnapshotUtil su = new SnapshotUtil(threshold);
               su.dump(snapshot, f);
             }
-          } else if (cmd.getCommand() == CommandType.LIST_SNAPSHOTS) {
+          } else if (cmd.getCommand() == CommandType.LIST_SNAPSHOTS ||
+                     cmd.getCommand() == CommandType.LIST_CLASSES) {
             String[] result = (String[])remotingClient.invoke(cmd);
             if (result != null) {
               for (int j = 0; j < result.length; j++) {

Modified: branches/JBossProfiler2/src/main/org/jboss/profiler/connectors/AbstractHandler.java
===================================================================
--- branches/JBossProfiler2/src/main/org/jboss/profiler/connectors/AbstractHandler.java	2008-11-17 01:41:06 UTC (rev 497)
+++ branches/JBossProfiler2/src/main/org/jboss/profiler/connectors/AbstractHandler.java	2008-11-17 02:08:26 UTC (rev 498)
@@ -69,6 +69,8 @@
       Agent.addClasses((String)cmd.getArguments()[0], (Visibility)cmd.getArguments()[1]);
     } else if (cmd.getCommand() == CommandType.REMOVE_CLASSES && Agent.isRepository()) {
       Agent.removeClasses((String)cmd.getArguments()[0]);
+    } else if (cmd.getCommand() == CommandType.LIST_CLASSES) {
+      return Agent.listClasses();
     }
     return "";
   }

Modified: branches/JBossProfiler2/src/main/org/jboss/profiler/shared/CommandType.java
===================================================================
--- branches/JBossProfiler2/src/main/org/jboss/profiler/shared/CommandType.java	2008-11-17 01:41:06 UTC (rev 497)
+++ branches/JBossProfiler2/src/main/org/jboss/profiler/shared/CommandType.java	2008-11-17 02:08:26 UTC (rev 498)
@@ -95,5 +95,10 @@
   /**
    * Remove classes
    */
-  REMOVE_CLASSES
+  REMOVE_CLASSES,
+
+  /**
+   * List classes
+   */
+  LIST_CLASSES
 }




More information about the jboss-cvs-commits mailing list