Author: burton Date: Tue Mar 8 15:25:39 2005 New Revision: 156585 URL: http://svn.apache.org/viewcvs?view=rev&rev=156585 Log: 0.0.4... xmlrpc refactor
Modified: jakarta/commons/sandbox/benchmark/trunk/project.xml jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java jakarta/commons/sandbox/benchmark/trunk/xdocs/index.xml Modified: jakarta/commons/sandbox/benchmark/trunk/project.xml URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/project.xml?view=diff&r1=156584&r2=156585 ============================================================================== --- jakarta/commons/sandbox/benchmark/trunk/project.xml (original) +++ jakarta/commons/sandbox/benchmark/trunk/project.xml Tue Mar 8 15:25:39 2005 @@ -15,7 +15,7 @@ <description>Jakarta Benchmark</description> - <currentVersion>0.0.3</currentVersion> + <currentVersion>0.0.4</currentVersion> <package>org.apache.commons.benchmark</package> Modified: jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java?view=diff&r1=156584&r2=156585 ============================================================================== --- jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java (original) +++ jakarta/commons/sandbox/benchmark/trunk/src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java Tue Mar 8 15:25:39 2005 @@ -29,16 +29,29 @@ * @version $Id: BenchmarkHandler.java,v 1.5 2005/03/04 00:31:08 burton Exp $ */ public class BenchmarkHandler { + + //FIXME: I think this needs to be refactored due to the getTracker1() code. + //I should be able to specify time here. - public Double getLastStarted( String name, int interval ) { + public Double getLastStarted( String name ) { return new Double( Benchmark.getBenchmark( name ) .getTracker1().getLast().getStarted() ); } - public Double getLastCompleted( String name, int interval ) { + public Double getLastCompleted( String name ) { return new Double( Benchmark.getBenchmark( name ) .getTracker1().getLast().getCompleted() ); + } + + public Double getLastDuration( String name ) { + return new Double( Benchmark.getBenchmark( name ) + .getTracker1().getLast().getDuration() ); + } + + public Double getLastMeanDuration( String name ) { + return new Double( Benchmark.getBenchmark( name ) + .getTracker1().getLast().getMeanDuration() ); } } Modified: jakarta/commons/sandbox/benchmark/trunk/xdocs/index.xml URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/benchmark/trunk/xdocs/index.xml?view=diff&r1=156584&r2=156585 ============================================================================== --- jakarta/commons/sandbox/benchmark/trunk/xdocs/index.xml (original) +++ jakarta/commons/sandbox/benchmark/trunk/xdocs/index.xml Tue Mar 8 15:25:39 2005 @@ -24,7 +24,43 @@ developers can write frontends to monitor application performance. </p> - + + <p> + Of course one approach is to use a Java profiler (and many + exist) but profilers suffer a number of fatal problems: + </p> + + <dl> + + <dt>Slow</dt> + + <dd> + Most java profilers are slow due to profiling of ALL method + calls or allocation points. This is a fatal flaw of their + design not their implementation. Since they don't know what + they're looking for they essentially have to look for + everything.. + + </dd> + + <dt>Require a LOT of memory</dt> + + <dt>Crash</dt> + + <dt>Not always enabled</dt> + + <dd> + Benchmarks are designed to run in <q>always on</q> mode + where collection of performance data has a negligible impact + on the VM. Most profilers on the other hand are not + designed to do this and often cause significant resource + restraints. + </dd> + + <dt>Proprietary</dt> + + </ol> + <p> Infrasture code such as rrdtool, ganglia, and jrobin, provide the foundation to view the data and commons benchmarks provides @@ -177,6 +213,72 @@ gmetric script. Slight configuration is required in order to specify the multicast channel, port, cluster name, ec. </p> + + </section> + + <section name="Requirements"> + + <p> + The benchmark API is designed to be very lightweight but + depending on the role deployed can require more than a few + components + </p> + + <p> + The following modes are supported: + </p> + + <dl> + <dt>base</dt> + + <dd> + All benchmarks enabled. Fast with very little memory + overhead. No remote operation. + </dd> + + <dt> + xmlrpc + </dt> + + <dd> + All benchmarks enabled/disabled, configuration support, and + remote benchmark probing. + </dd> + + <dt> + ganglia + </dt> + + <dd> + Benchmarks are broadcast on the local submnet via unicast. + </dd> + + </dl> + + <table> + + <tr> + <th></th> + <th>commons-beanutils</th> + <th>xmlrpc</th> + </tr> + + <tr> + <td> + base + </td> + + <td> + no + </td> + + <td> + no + </td> + + </tr> + + </table> </section> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]