User: juhalindfors
  Date: 02/01/23 13:45:44

  Added:       src/main/test/performance/standard InvocationTEST.java
                        StandardSUITE.java
  Log:
  
  
  Revision  Changes    Path
  1.1                  jmx/src/main/test/performance/standard/InvocationTEST.java
  
  Index: InvocationTEST.java
  ===================================================================
  /*
   * JBoss, the OpenSource J2EE webOS
   *
   * Distributable under LGPL license.
   * See terms of license at gnu.org.
   */
  
  package test.performance.standard;
  
  import junit.framework.TestCase;
  import test.performance.PerformanceSUITE;
  import test.performance.standard.support.Standard;
  
  import javax.management.*;
  
  
  public class InvocationTEST extends TestCase
  {
  
     public InvocationTEST(String s)
     {
        super(s);
     }
  
     public void testVoidInvocationWithDefaultDomain()
     {
        try
        {
           System.out.println("\nSTANDARD: void invocation with DefaultDomain");
           System.out.println(PerformanceSUITE.ITERATION_COUNT + " Invocations, 
Repeat: x" + PerformanceSUITE.REPEAT_COUNT);
           System.out.println("(this may take a while...)\n");
  
           MBeanServer server = MBeanServerFactory.createMBeanServer();
           ObjectName name = new ObjectName(":performanceTest=standard");
           String method = "methodInvocation";
           long start = 0, end = 0;
           float avg = 0l;
  
           server.registerMBean(new Standard(), name);
  
           // drop the first batch (+1)
           for (int testIterations = 0; testIterations < PerformanceSUITE.REPEAT_COUNT 
+ 1; ++testIterations)
           {
              start = System.currentTimeMillis();
              for (int invocationIterations = 0; invocationIterations < 
PerformanceSUITE.ITERATION_COUNT; ++invocationIterations)
              {
                 server.invoke(name, method, null, null);
              }
              end = System.currentTimeMillis();
  
              if (testIterations != 0)
              {
                 long time = end - start;
                 System.out.print( time + " ");
                 avg += time;
              }
           }
  
           System.out.println("\nAverage: " + (avg/PerformanceSUITE.REPEAT_COUNT));
        }
        catch (Throwable t)
        {
           t.printStackTrace();
           fail("Unexpected error: " + t.toString());
        }
     }
  
     public void testVoidInvocation()
     {
        try
        {
           System.out.println("\nSTANDARD: void invocation");
           System.out.println(PerformanceSUITE.ITERATION_COUNT + " Invocations, 
Repeat: x" + PerformanceSUITE.REPEAT_COUNT);
           System.out.println("(this may take a while...)\n");
  
           MBeanServer server = MBeanServerFactory.createMBeanServer();
           ObjectName name = new ObjectName("Domain:performanceTest=standard");
           String method = "methodInvocation";
           long start = 0, end = 0;
           float avg = 0l;
  
           server.registerMBean(new Standard(), name);
  
           // drop the first batch (+1)
           for (int testIterations = 0; testIterations < PerformanceSUITE.REPEAT_COUNT 
+ 1; ++testIterations)
           {
              start = System.currentTimeMillis();
              for (int invocationIterations = 0; invocationIterations < 
PerformanceSUITE.ITERATION_COUNT; ++invocationIterations)
              {
                 server.invoke(name, method, null, null);
              }
              end = System.currentTimeMillis();
  
              if (testIterations != 0)
              {
                 long time = end - start;
                 System.out.print( time + " ");
                 avg += time;
              }
           }
  
           System.out.println("\nAverage: " + (avg/PerformanceSUITE.REPEAT_COUNT));
        }
        catch (Throwable t)
        {
           t.printStackTrace();
           fail("Unexpected error: " + t.toString());
        }
     }
  
     public void testCounterInvocation()
     {
        try
        {
           System.out.println("\nSTANDARD: counter invocation");
           System.out.println(PerformanceSUITE.ITERATION_COUNT + " Invocations, 
Repeat: x" + PerformanceSUITE.REPEAT_COUNT);
           System.out.println("(this may take a while...)\n");
  
           MBeanServer server = MBeanServerFactory.createMBeanServer();
           ObjectName name = new ObjectName("Domain:performanceTest=standard");
           Standard mbean = new Standard();
           String method = "counter";
           long start = 0, end = 0;
           float avg = 0l;
  
           server.registerMBean(mbean, name);
  
           // drop the first batch (+1)
           for (int testIterations = 0; testIterations < PerformanceSUITE.REPEAT_COUNT 
+ 1; ++testIterations)
           {
              start = System.currentTimeMillis();
              for (int invocationIterations = 0; invocationIterations < 
PerformanceSUITE.ITERATION_COUNT; ++invocationIterations)
              {
                 server.invoke(name, method, null, null);
              }
              end = System.currentTimeMillis();
  
              if (testIterations != 0)
              {
                 long time = end - start;
                 System.out.print( time + " ");
                 avg += time;
              }
           }
  
           System.out.println("\nAverage: " + (avg/PerformanceSUITE.REPEAT_COUNT));
  
           assertTrue(mbean.getCount() == (PerformanceSUITE.REPEAT_COUNT + 
1)*PerformanceSUITE.ITERATION_COUNT);
        }
        catch (Throwable t)
        {
           t.printStackTrace();
           fail("Unexpected error: " + t.toString());
        }
     }
  
  
     public void testMixedArgsInvocation()
     {
        try
        {
           System.out.println("\nSTANDARD: mixed arguments invocation");
           System.out.println(PerformanceSUITE.ITERATION_COUNT + " Invocations, 
Repeat: x" + PerformanceSUITE.REPEAT_COUNT);
           System.out.println("(this may take a while...)\n");
  
           MBeanServer server = MBeanServerFactory.createMBeanServer();
           ObjectName name    = new ObjectName("Domain:performanceTest=standard");
           Standard mbean     = new Standard();
           
           String method      = "mixedArguments";
           String[] signature = new String[] { 
                                   Integer.class.getName(),
                                   int.class.getName(),
                                   Object[][][].class.getName(),
                                   Attribute.class.getName()
                                };
                                
           Object[] args      = new Object[] {
                                   new Integer(1234),
                                   new Integer(455617),
                                   new Object[][][] {
                                      { 
                                         { "1x1x1", "1x1x2", "1x1x3" },
                                         { "1x2x1", "1x2x2", "1x2x3" },
                                         { "1x3x1", "1x3x2", "1x3x3" }
                                      },
                                      
                                      {
                                         { "2x1x1", "2x1x2", "2x1x3" },
                                         { "2x2x1", "2x2x2", "2x2x3" },
                                         { "2x3x1", "2x3x2", "2x3x3" }
                                      },
                                      
                                      {
                                         { "3x1x1", "3x1x2", "3x1x3" },
                                         { "3x2x1", "3x2x2", "3x2x3" },
                                         { "3x3x1", "3x3x2", "3x3x3" }
                                      }
                                   },
                                   new Attribute("attribute", "value")
                                };
                                      
           long start = 0, end = 0;
           float avg = 0l;
  
           server.registerMBean(mbean, name);
  
           // drop the first batch (+1)
           for (int testIterations = 0; testIterations < PerformanceSUITE.REPEAT_COUNT 
+ 1; ++testIterations)
           {
              start = System.currentTimeMillis();
              for (int invocationIterations = 0; invocationIterations < 
PerformanceSUITE.ITERATION_COUNT; ++invocationIterations)
              {
                 server.invoke(name, method, args, signature);
              }
              end = System.currentTimeMillis();
  
              if (testIterations != 0)
              {
                 long time = end - start;
                 System.out.print( time + " ");
                 avg += time;
              }
           }
  
           System.out.println("\nAverage: " + (avg/PerformanceSUITE.REPEAT_COUNT));
  
        }
        catch (Throwable t)
        {
           t.printStackTrace();
           fail("Unexpected error: " + t.toString());
        }
     }
     
  }
  
  
  
  1.1                  jmx/src/main/test/performance/standard/StandardSUITE.java
  
  Index: StandardSUITE.java
  ===================================================================
  /*
   * JBoss, the OpenSource J2EE webOS
   *
   * Distributable under LGPL license.
   * See terms of license at gnu.org.
   */
  
  package test.performance.standard;
  
  import junit.framework.Test;
  import junit.framework.TestSuite;
  
  public class StandardSUITE extends TestSuite
  {
     public static void main(String[] args)
     {
        junit.textui.TestRunner.run(suite());
     }
  
     public static Test suite()
     {
        TestSuite suite = new TestSuite("Performance tests for Standard MBeans");
  
        suite.addTest(new TestSuite(InvocationTEST.class));
  
        return suite;
     }
  
  }
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to