This is an automated email from the ASF dual-hosted git repository. upthewaterspout pushed a commit to branch feature/redis-performance-testing in repository https://gitbox.apache.org/repos/asf/geode-benchmarks.git
commit 6bc641f8615e213ef85141d515a222d7e2ddb1e9 Author: Dan Smith <dasm...@vmware.com> AuthorDate: Thu Apr 1 15:17:47 2021 -0700 Logging all benchmark properties during test run --- geode-benchmarks/build.gradle | 6 +++--- .../main/java/org/apache/geode/perftest/TestRunners.java | 6 +++--- .../apache/geode/perftest/runner/DefaultTestRunner.java | 14 ++++++++++++-- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/geode-benchmarks/build.gradle b/geode-benchmarks/build.gradle index 49fa625..b2f5e26 100644 --- a/geode-benchmarks/build.gradle +++ b/geode-benchmarks/build.gradle @@ -100,9 +100,9 @@ task benchmark(type: Test) { systemProperty 'org.slf4j.simpleLogger.dateTimeFormat', 'yyyy-MM-dd HH:mm:ss.SSS' systemProperty 'org.slf4j.simpleLogger.showThreadName', 'false' systemProperty 'org.slf4j.simpleLogger.showShortLogName', 'true' - systemProperty 'TEST_HOSTS', project.findProperty('hosts') - systemProperty 'TEST_METADATA', project.findProperty('metadata') - systemProperty 'OUTPUT_DIR', outputDir + systemProperty 'benchmark.TEST_HOSTS', project.findProperty('hosts') + systemProperty 'benchmark.TEST_METADATA', project.findProperty('metadata') + systemProperty 'benchmark.OUTPUT_DIR', outputDir //Set all project properties starting with "benchmark." as system properties in the test //JVM diff --git a/harness/src/main/java/org/apache/geode/perftest/TestRunners.java b/harness/src/main/java/org/apache/geode/perftest/TestRunners.java index 680071b..27fddb3 100644 --- a/harness/src/main/java/org/apache/geode/perftest/TestRunners.java +++ b/harness/src/main/java/org/apache/geode/perftest/TestRunners.java @@ -38,8 +38,8 @@ import org.apache.geode.perftest.runner.DefaultTestRunner; */ public class TestRunners { - public static final String TEST_HOSTS = "TEST_HOSTS"; - public static final String OUTPUT_DIR = "OUTPUT_DIR"; + public static final String TEST_HOSTS = "benchmark.TEST_HOSTS"; + public static final String OUTPUT_DIR = "benchmark.OUTPUT_DIR"; public static final String[] JVM_ARGS_SMALL_SIZE = new String[] { "-XX:CMSInitiatingOccupancyFraction=60", @@ -91,7 +91,7 @@ public class TestRunners { static TestRunner defaultRunner(String testHosts, File outputDir) { if (testHosts == null) { throw new IllegalStateException( - "You must set the TEST_HOSTS system property to a comma separated list of hosts to run the benchmarks on."); + "You must set the benchmark.TEST_HOSTS system property to a comma separated list of hosts to run the benchmarks on."); } String userName = System.getProperty("user.name"); diff --git a/harness/src/main/java/org/apache/geode/perftest/runner/DefaultTestRunner.java b/harness/src/main/java/org/apache/geode/perftest/runner/DefaultTestRunner.java index ba4d5a8..c26b1c2 100644 --- a/harness/src/main/java/org/apache/geode/perftest/runner/DefaultTestRunner.java +++ b/harness/src/main/java/org/apache/geode/perftest/runner/DefaultTestRunner.java @@ -74,12 +74,16 @@ public class DefaultTestRunner implements TestRunner { } benchmarkOutput.mkdirs(); + Properties properties = new Properties(); + addVersionProperties(properties, getVersionProperties()); + addSystemProperties(properties); + logger.info("Benchmark Properties {}", properties); + + String metadataFilename = outputDir + "/testrunner.properties"; Path metadataOutput = Paths.get(metadataFilename); if (!metadataOutput.toFile().exists()) { - Properties properties = new Properties(System.getProperties()); - addVersionProperties(properties, getVersionProperties()); try (FileWriter writer = new FileWriter(metadataOutput.toFile().getAbsoluteFile())) { properties.store(writer, "Benchmark metadata generated while running tests"); } @@ -112,6 +116,12 @@ public class DefaultTestRunner implements TestRunner { } + private void addSystemProperties(Properties properties) { + System.getProperties().stringPropertyNames().stream() + .filter(name -> name.startsWith("benchmark.")) + .forEach(name -> properties.setProperty(name, System.getProperty(name))); + } + private void addVersionProperties(Properties jsonMetadata, Properties versionProperties) { jsonMetadata.put("benchmark.source_version", versionProperties.getProperty("Product-Version")); jsonMetadata.put("benchmark.source_branch", versionProperties.getProperty("Source-Repository"));