You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by bu...@apache.org on 2005/03/09 00:25:41 UTC
svn commit: r156585 - in jakarta/commons/sandbox/benchmark/trunk: project.xml
src/java/org/apache/commons/benchmark/xmlrpc/BenchmarkHandler.java
xdocs/index.xml
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: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org