Author: tripod
Date: Wed Oct 16 05:47:22 2013
New Revision: 1532642

URL: http://svn.apache.org/r1532642
Log:
OAK-641: Improved benchmark tooling

Modified:
    
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/AbstractTest.java
    
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/Benchmark.java
    
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java
    
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/ManyNodes.java

Modified: 
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/AbstractTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/AbstractTest.java?rev=1532642&r1=1532641&r2=1532642&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/AbstractTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/AbstractTest.java
 Wed Oct 16 05:47:22 2013
@@ -36,7 +36,7 @@ import org.apache.jackrabbit.oak.fixture
 /**
  * Abstract base class for individual performance benchmarks.
  */
-abstract class AbstractTest extends Benchmark {
+abstract class AbstractTest extends Benchmark implements CSVResultGenerator {
 
     /**
      * A random string to guarantee concurrently running tests don't overwrite
@@ -69,6 +69,13 @@ abstract class AbstractTest extends Benc
 
     private int concurrency;
 
+    private PrintStream out;
+
+    @Override
+    public void setPrintStream(PrintStream out) {
+        this.out = out;
+    }
+
     protected static int getScale(int def) {
         int scale = Integer.getInteger("scale", 0);
         if (scale == 0) {
@@ -100,7 +107,7 @@ abstract class AbstractTest extends Benc
     }
 
     @Override
-    public void run(Iterable<RepositoryFixture> fixtures, PrintStream out) {
+    public void run(Iterable<RepositoryFixture> fixtures) {
         System.out.format(
                 "# %-26.26s       C     min     10%%     50%%     90%%     max 
      N%n",
                 toString());

Modified: 
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/Benchmark.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/Benchmark.java?rev=1532642&r1=1532641&r2=1532642&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/Benchmark.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/Benchmark.java
 Wed Oct 16 05:47:22 2013
@@ -16,8 +16,6 @@
  */
 package org.apache.jackrabbit.oak.benchmark;
 
-import java.io.PrintStream;
-
 import org.apache.jackrabbit.oak.fixture.RepositoryFixture;
 
 public abstract class Benchmark {
@@ -28,7 +26,7 @@ public abstract class Benchmark {
      *
      * @param fixtures repository fixtures
      */
-    public abstract void run(Iterable<RepositoryFixture> fixtures, PrintStream 
out);
+    public abstract void run(Iterable<RepositoryFixture> fixtures);
 
     public String toString() {
         String name = getClass().getName();

Modified: 
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java?rev=1532642&r1=1532641&r2=1532642&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java
 Wed Oct 16 05:47:22 2013
@@ -171,7 +171,10 @@ public class BenchmarkRunner {
                 out = new 
PrintStream(FileUtils.openOutputStream(csvFile.value(options), true));
             }
             for (Benchmark benchmark : benchmarks) {
-                benchmark.run(fixtures, out);
+                if (benchmark instanceof CSVResultGenerator) {
+                    ((CSVResultGenerator) benchmark).setPrintStream(out);
+                }
+                benchmark.run(fixtures);
             }
             if (out != null) {
                 out.close();

Modified: 
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/ManyNodes.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/ManyNodes.java?rev=1532642&r1=1532641&r2=1532642&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/ManyNodes.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/ManyNodes.java
 Wed Oct 16 05:47:22 2013
@@ -16,8 +16,6 @@
  */
 package org.apache.jackrabbit.oak.benchmark;
 
-import java.io.PrintStream;
-
 import javax.jcr.Node;
 import javax.jcr.Repository;
 import javax.jcr.RepositoryException;
@@ -29,7 +27,7 @@ import org.apache.jackrabbit.oak.fixture
 public class ManyNodes extends Benchmark {
 
     @Override
-    public void run(Iterable<RepositoryFixture> fixtures, PrintStream out) {
+    public void run(Iterable<RepositoryFixture> fixtures) {
         for (RepositoryFixture fixture : fixtures) {
             System.out.println("ManyNodes test: " + fixture);
             if (fixture.isAvailable(1)) {


Reply via email to