[jboss-cvs] jboss-profiler/java/src/expansion/org/jboss/profiler/exp/agent/interceptor ...

Takuro Okada t2-okada at nri.co.jp
Mon Nov 13 02:11:04 EST 2006


  User: tokada  
  Date: 06/11/13 02:11:03

  Modified:    java/src/expansion/org/jboss/profiler/exp/agent/interceptor 
                        Tag: JBossProfiler_Expansion DriverWrapper.java
  Log:
  Corrected to be able to collect all parameters of the JDBC API method.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.3   +22 -14    jboss-profiler/java/src/expansion/org/jboss/profiler/exp/agent/interceptor/Attic/DriverWrapper.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: DriverWrapper.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-profiler/java/src/expansion/org/jboss/profiler/exp/agent/interceptor/Attic/DriverWrapper.java,v
  retrieving revision 1.1.2.2
  retrieving revision 1.1.2.3
  diff -u -b -r1.1.2.2 -r1.1.2.3
  --- DriverWrapper.java	10 Nov 2006 09:13:11 -0000	1.1.2.2
  +++ DriverWrapper.java	13 Nov 2006 07:11:03 -0000	1.1.2.3
  @@ -28,6 +28,7 @@
   import java.sql.Driver;
   import java.sql.DriverPropertyInfo;
   import java.sql.SQLException;
  +import java.util.Arrays;
   import java.util.Properties;
   import java.util.concurrent.ExecutorService;
   import java.util.concurrent.LinkedBlockingQueue;
  @@ -184,24 +185,31 @@
       }
       
       private void processCollection(MetricCollector collector, long threadId, Method method, Object[] args) {
  +        String className = method.getDeclaringClass().getCanonicalName();
  +        String methodName = method.getName();
  +        
           StringBuilder sb = new StringBuilder();
  -        sb.append(method.getDeclaringClass().getCanonicalName());
  +        sb.append(className);
           sb.append(".");
  -        sb.append(method.getName());
  -        String methodExpression = sb.toString();
  -        collector.setOperationName(methodExpression);
  -        
  -        String query = null;
  -        if(method.getName().equals("execute") ||
  -           method.getName().equals("executeQuery") ||
  -           method.getName().equals("executeUpdate") ||
  -           method.getName().equals("prepareStatement") ||
  -           method.getName().equals("prepareCall")) {
  +        sb.append(methodName);
  +        collector.setOperationName(sb.toString());
  +        
  +        String argumentsExpression = null;
               if(args!=null && args.length>0) {
  -                query = (String)args[0];
  +            StringBuilder arguments = new StringBuilder();
  +            for(Object arg : args) {
  +                if(!arg.getClass().isArray()) {
  +                    arguments.append(String.valueOf(arg));
  +                }else {
  +                    arguments.append(Arrays.toString((Object[])arg));
               }
  +                arguments.append(", ");
           }
  -        collector.setArguments(new Object[]{threadId, null, query});
  +            arguments.delete(arguments.length()-2, arguments.length());
  +            argumentsExpression = arguments.toString();
  +        }
  +        
  +        collector.setArguments(new Object[]{threadId, null, argumentsExpression});
           
           try {
               factory.submitCollector(collector);
  
  
  



More information about the jboss-cvs-commits mailing list