This is an automated email from the ASF dual-hosted git repository.
smgoller pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode-benchmarks.git
The following commit(s) were added to refs/heads/develop by this push:
new 2aa45f1 Clean up metadata generation. Add all test names to metadata.
(#60)
2aa45f1 is described below
commit 2aa45f14a98378865553a2cd821734583e179c0c
Author: Sean Goller <[email protected]>
AuthorDate: Thu Feb 28 16:44:11 2019 -0800
Clean up metadata generation. Add all test names to metadata. (#60)
Co-authored-by: Sean Goller <[email protected]>
Co-authored-by: Nabarun Nag <[email protected]>
---
.../geode/perftest/runner/DefaultTestRunner.java | 61 ++++++++++++++++------
1 file changed, 45 insertions(+), 16 deletions(-)
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 019cb18..04e324b 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
@@ -19,9 +19,13 @@ package org.apache.geode.perftest.runner;
import java.io.File;
import java.io.FileWriter;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
import java.util.List;
import java.util.Map;
+import org.json.JSONArray;
import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -68,27 +72,52 @@ public class DefaultTestRunner implements TestRunner {
throw new IllegalStateException(
"Benchmark output directory already exists: " +
benchmarkOutput.getPath());
}
- benchmarkOutput.mkdirs();
-
- String metadata = System.getProperty("TEST_METADATA");
- if (!(metadata == null) && !metadata.isEmpty()) {
- File metadataOutput = new File(outputDir, "metadata.json");
- metadataOutput.createNewFile();
- FileWriter metadataWriter = new
FileWriter(metadataOutput.getAbsoluteFile(), true);
- String[] metadataEntries = metadata.split(",");
- JSONObject JSONmetadata = new JSONObject();
-
- for (String data : metadataEntries) {
- String[] kv = data.split(":");
- if (kv.length == 2) {
- JSONmetadata.put(kv[0], kv[1]);
+ benchmarkOutput.mkdirs();
+ String metadataFilename = outputDir + "/metadata.json";
+ Path metadataOutput = Paths.get(metadataFilename);
+ JSONObject JSONmetadata = new JSONObject();
+
+ if (metadataOutput.toFile().exists()) {
+ JSONmetadata = new JSONObject(new
String(Files.readAllBytes(metadataOutput)));
+ } else {
+ String instanceMetadataFilename =
+ "/home/" + System.getProperty("user.home") +
"/geode-benchmarks-metadata.json";
+ Path instanceMetadataFile = Paths.get(instanceMetadataFilename);
+ JSONmetadata = new JSONObject();
+ JSONObject instanceMetadata;
+ if (instanceMetadataFile.toFile().exists()) {
+ instanceMetadata = new JSONObject(new
String(Files.readAllBytes(instanceMetadataFile)));
+ JSONmetadata.put("instanceId",
instanceMetadata.getString("instanceId"));
+ }
+ String metadata = System.getProperty("TEST_METADATA");
+ if (!(metadata == null) && !metadata.isEmpty()) {
+ JSONObject testMetadata = new JSONObject();
+ String[] metadataEntries = metadata.split(",");
+ for (String data : metadataEntries) {
+ String[] kv = data.split(":");
+ if (kv.length == 2) {
+ testMetadata.put(kv[0], kv[1]);
+ }
}
+ JSONmetadata.put("testMetadata", testMetadata);
}
- metadataWriter.write(JSONmetadata.toString());
- metadataWriter.flush();
}
+ try {
+ JSONArray testNames = JSONmetadata.getJSONArray("testNames");
+ testNames.put(testName);
+ JSONmetadata.put("testNames", testNames);
+ } catch (org.json.JSONException e) {
+ JSONArray testNames = new JSONArray();
+ testNames.put(testName);
+ JSONmetadata.put("testNames", testNames);
+ }
+
+ FileWriter metadataWriter = new
FileWriter(metadataOutput.toFile().getAbsoluteFile());
+ metadataWriter.write(JSONmetadata.toString());
+ metadataWriter.flush();
+
Map<String, Integer> roles = config.getRoles();
Map<String, List<String>> jvmArgs = config.getJvmArgs();