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)) {