You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/11/07 10:26:56 UTC

[sling-tooling-scm] 08/27: SLING-2593 - Improvement for the Sling performance tools. Removed XML Report type since is not implemented. Changed getenv with getProperty. Removed 2 unused classes (AbstractPerformanceTest, AbstractTest)

This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.performance.base-0.0.2
in repository https://gitbox.apache.org/repos/asf/sling-tooling-scm.git

commit 384edbc1536dbdb210a7624cee7863e3aa7144aa
Author: Antonio Sanso <as...@apache.org>
AuthorDate: Wed Oct 3 11:29:19 2012 +0000

    SLING-2593 - Improvement for the Sling performance tools. Removed XML Report type since is not implemented. Changed getenv with getProperty. Removed 2 unused classes (AbstractPerformanceTest, AbstractTest)
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/performance/base@1393426 13f79535-47bb-0310-9956-ffa450edef68
---
 .../sling/performance/AbstractPerformanceTest.java |  91 --------------
 .../org/apache/sling/performance/AbstractTest.java | 134 ---------------------
 .../org/apache/sling/performance/ReportLogger.java |   8 +-
 3 files changed, 3 insertions(+), 230 deletions(-)

diff --git a/src/main/java/org/apache/sling/performance/AbstractPerformanceTest.java b/src/main/java/org/apache/sling/performance/AbstractPerformanceTest.java
deleted file mode 100644
index 1540cf7..0000000
--- a/src/main/java/org/apache/sling/performance/AbstractPerformanceTest.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.sling.performance;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.List;
-import junit.framework.TestCase;
-import org.apache.commons.io.output.FileWriterWithEncoding;
-import org.apache.commons.math.stat.descriptive.DescriptiveStatistics;
-
-public abstract class AbstractPerformanceTest extends TestCase {
-    
-    private final int runtime = 5;
-
-    private final int warmup = 1;
-    
-    private void runTest(String name, AbstractTest test) throws Exception {
-        DescriptiveStatistics statistics = new DescriptiveStatistics();
-
-        test.setUp();
-        try {
-            // Run a few iterations to warm up the system
-            long warmupEnd = System.currentTimeMillis() + warmup * 1000;
-            while (System.currentTimeMillis() < warmupEnd) {
-                test.execute();
-            }
-
-            // Run test iterations, and capture the execution times
-            long runtimeEnd = System.currentTimeMillis() + runtime * 1000;
-            while (System.currentTimeMillis() < runtimeEnd) {
-                statistics.addValue(test.execute());
-            }
-        } finally {
-            test.tearDown();
-        }
- 
-        if (statistics.getN() > 0) {
-            writeReport(test.toString(), name, statistics);
-        }
-    }
-
-    protected void testPerformance(String name, List <AbstractTest> tests) throws Exception {
-        for (AbstractTest test:tests){
-            runTest(name,test);
-        }
-    }
-    
-    private void writeReport(String test, String name, DescriptiveStatistics statistics)
-    throws IOException {
-        File report = new File("target", test + ".txt");
-
-        boolean needsPrefix = !report.exists();
-        PrintWriter writer = new PrintWriter(
-                new FileWriterWithEncoding(report, "UTF-8", true));
-        try {
-            if (needsPrefix) {
-                writer.format(
-                        "# %-34.34s     min     10%%     50%%     90%%     max%n",
-                        test);
-            }
-
-            writer.format(
-                    "%-36.36s  %6.0f  %6.0f  %6.0f  %6.0f  %6.0f%n",
-                    name,
-                    statistics.getMin(),
-                    statistics.getPercentile(10.0),
-                    statistics.getPercentile(50.0),
-                    statistics.getPercentile(90.0),
-                    statistics.getMax());
-        } finally {
-            writer.close();
-        }
-    }
-
-}
diff --git a/src/main/java/org/apache/sling/performance/AbstractTest.java b/src/main/java/org/apache/sling/performance/AbstractTest.java
deleted file mode 100644
index 7cdaca2..0000000
--- a/src/main/java/org/apache/sling/performance/AbstractTest.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.sling.performance;
-
-import java.util.LinkedList;
-import java.util.List;
-
-/**
- * Abstract base class for individual performance benchmarks.
- */
-public abstract class AbstractTest {
-	
-	protected static int getScale(int def) {
-        int scale = Integer.getInteger("scale", 0);
-        if (scale == 0) {
-            scale = def;
-        }
-        return scale;
-    }
-
-    private volatile boolean running;
-
-    private List<Thread> threads;
-    
-    /**
-     * Adds a background thread that repeatedly executes the given job
-     * until all the iterations of this test have been executed.
-     *
-     * @param job background job
-     */
-    protected void addBackgroundJob(final Runnable job) {
-        Thread thread = new Thread() {
-            @Override
-            public void run() {
-                while (running) {
-                    job.run();
-                }
-            }
-        };
-        thread.start();
-        threads.add(thread);
-    }
-	
-	/**
-     * Run after all iterations of this test have been executed. Subclasses can
-     * override this method to clean up static test content.
-     *
-     * @throws Exception if an error occurs
-     */
-    protected void afterSuite() throws Exception {
-    }
-    
-    protected void afterTest() throws Exception {
-    }
-
-    
-    /**
-     * Run before any iterations of this test get executed. Subclasses can
-     * override this method to set up static test content.
-     *
-     * @throws Exception if an error occurs
-     */
-    protected void beforeSuite() throws Exception {
-    }
-
-    protected void beforeTest() throws Exception {
-    }
-
-    /**
-     * Executes a single iteration of this test.
-     *
-     * @return number of milliseconds spent in this iteration
-     * @throws Exception if an error occurs
-     */
-    public long execute() throws Exception {
-        beforeTest();
-        try {
-            long start = System.currentTimeMillis();
-            runTest();
-            return System.currentTimeMillis() - start;
-        } finally {
-            afterTest();
-        }
-    }
-
-    protected abstract void runTest() throws Exception;
-    
-    /**
-     * Prepares this performance benchmark.
-     *
-     * @param repository the repository to use
-     * @param credentials credentials of a user with write access
-     * @throws Exception if the benchmark can not be prepared
-     */
-    public void setUp()
-            throws Exception {
-        this.threads = new LinkedList<Thread>();
-        this.running = true;
-        beforeSuite();
-    }
-    
-    /**
-     * Cleans up after this performance benchmark.
-     *
-     * @throws Exception if the benchmark can not be cleaned up
-     */
-    public void tearDown() throws Exception {
-        this.running = false;
-        for (Thread thread : threads) {
-            thread.join();
-        }
-        afterSuite();
-        this.threads = null;
-    }
-
-    public String toString() {
-        String name = getClass().getName();
-        return name.substring(name.lastIndexOf('.') + 1);
-    }
- }
diff --git a/src/main/java/org/apache/sling/performance/ReportLogger.java b/src/main/java/org/apache/sling/performance/ReportLogger.java
index f0822f1..d43f455 100644
--- a/src/main/java/org/apache/sling/performance/ReportLogger.java
+++ b/src/main/java/org/apache/sling/performance/ReportLogger.java
@@ -13,7 +13,7 @@ import org.apache.commons.math.stat.descriptive.DescriptiveStatistics;
 public class ReportLogger {
 
 	public enum ReportType {
-		TXT, XML
+		TXT
 	}
 
 	public static void writeReport(String test, String testSuiteName,
@@ -23,8 +23,6 @@ public class ReportLogger {
 		case TXT:
 			writeReportTxt(test, testSuiteName, name, statistics);
 			break;
-		case XML:
-			throw new Exception("The XML reporting format is not yet supported");
 		default:
 			throw new Exception(
 					"The specified reporting format is not yet supported");
@@ -60,8 +58,8 @@ public class ReportLogger {
 		// useful if we run the test cases from the command line for example
 		// by using maven
 		if (testSuiteName.equals(ParameterizedTestList.TEST_CASE_ONLY)) {
-			if (System.getenv("testsuitename") != null) {
-				testSuiteName = System.getenv("testsuitename");
+			if (System.getProperty("testsuitename") != null) {
+				testSuiteName = System.getProperty("testsuitename");
 			}
 		}
 

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.