package pebl.builder; import java.nio.file.Paths; import java.time.LocalDate; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.List; import betsy.common.model.engine.EngineExtended; import configuration.MetricTypes; import pebl.ProcessLanguage; import pebl.benchmark.test.Test; import pebl.result.Measurement; import pebl.result.engine.Engine; import pebl.result.test.TestResult; import pebl.xsd.PEBL; public class PEBLPerformanceResultsAdder { public static void addPerformanceResults(PEBL pebl) { Test test = pebl.benchmark.tests.stream() .filter(t -> t.getCapability().getName().equalsIgnoreCase("performance")) .findAny().orElseThrow(IllegalStateException::new); // engines final Engine engineA = new EngineExtended(ProcessLanguage.BPMN, "engine_a", "N.NN.N", LocalDate.MIN, "Apache-2.0").getEngine(); pebl.result.engines.add(engineA); final Engine engineB = new EngineExtended(ProcessLanguage.BPMN, "engine_b", "N.NN.N", LocalDate.MIN, "Apache-2.0").getEngine(); pebl.result.engines.add(engineB); // tool final String benchFlow = "BenchFlow__1"; // results final Engine camunda__7_4_0 = pebl.getEngine("camunda__7_4_0"); final List<Measurement> measurements = Arrays.asList( new Measurement(test.getMetrics().stream().filter(m -> m.getMetricType().equals(MetricTypes.THROUGHPUT)).findAny().orElseThrow(IllegalStateException::new), "1061.27"), new Measurement(test.getMetrics().stream().filter(m -> m.getMetricType().equals(MetricTypes.NUMBER_OF_PROCESS_INSTANCES)).findAny().orElseThrow(IllegalStateException::new), "575210"), new Measurement(test.getMetrics().stream().filter(m -> m.getMetricType().equals(MetricTypes.PROCESS_DURATION)).findAny().orElseThrow(IllegalStateException::new), "0;434;1.22 +/- 0.02;4.21"), new Measurement(test.getMetrics().stream().filter(m -> m.getMetricType().equals(MetricTypes.CPU)).findAny().orElseThrow(IllegalStateException::new), "24.48;56.35;48.52 +/- 0.28;5"), new Measurement(test.getMetrics().stream().filter(m -> m.getMetricType().equals(MetricTypes.RAM)).findAny().orElseThrow(IllegalStateException::new), "677.1;1073.15;991.86 +/- 4.24;75.21") ); final TestResult testResultCamunda = new TestResult(test, camunda__7_4_0, benchFlow, Collections.emptyList(), Paths.get(""), Collections.emptyList(), measurements, new HashMap<>(), Collections.emptyList()); addPerformanceEnvironmentData(testResultCamunda); pebl.result.testResults.add(testResultCamunda); } private static void addPerformanceEnvironmentData(TestResult testResultCamunda) { testResultCamunda.addExtension("environment.server1.cpu_cores", "64"); testResultCamunda.addExtension("environment.server1.cpu_power", "1400 MHz"); testResultCamunda.addExtension("environment.server1.ram", "128"); testResultCamunda.addExtension("environment.server1.network", "10 Gbit/s"); testResultCamunda.addExtension("environment.server1.host_operating_system", "Ubuntu 14.04.3 LTS"); testResultCamunda.addExtension("environment.server1.docker_engine", "1.8.2"); testResultCamunda.addExtension("environment.server1.configuration", "Ubuntu 14.04.01, Oracle Server 7u79"); testResultCamunda.addExtension("environment.server1.docker_container", ""); testResultCamunda.addExtension("environment.server1.purpose", "Load Drivers"); testResultCamunda.addExtension("environment.server2.cpu_cores", "12"); testResultCamunda.addExtension("environment.server2.cpu_power", "800 MHz"); testResultCamunda.addExtension("environment.server2.ram", "64"); testResultCamunda.addExtension("environment.server2.network", "10 Gbit/s"); testResultCamunda.addExtension("environment.server2.host_operating_system", "Ubuntu 14.04.3 LTS"); testResultCamunda.addExtension("environment.server2.docker_engine", "1.8.2"); testResultCamunda.addExtension("environment.server2.configuration", "Ubuntu 14.04.01, Oracle Server 7u79, Max Java Heap: 32GB, Max DB Connections Number: 100"); testResultCamunda.addExtension("environment.server2.docker_container", ""); testResultCamunda.addExtension("environment.server2.purpose", "WfMS"); testResultCamunda.addExtension("environment.server3.cpu_cores", "64"); testResultCamunda.addExtension("environment.server3.cpu_power", "2300 MHz"); testResultCamunda.addExtension("environment.server3.ram", "128"); testResultCamunda.addExtension("environment.server3.network", "10 Gbit/s"); testResultCamunda.addExtension("environment.server3.host_operating_system", "Ubuntu 14.04.3 LTS"); testResultCamunda.addExtension("environment.server3.docker_engine", "1.8.2"); testResultCamunda.addExtension("environment.server3.configuration", "MySQL Community Server 5.6.26"); testResultCamunda.addExtension("environment.server3.docker_container", "mysql:5.6.26"); testResultCamunda.addExtension("environment.server3.purpose", "DBMS"); } }