From e4d9aa159f9f57c21fceef91171198028312e3c6 Mon Sep 17 00:00:00 2001 From: Daniel Seybold Date: Tue, 3 Mar 2020 13:29:17 +0100 Subject: [PATCH] several bugfixes for plotting and TPC-C workload --- conf/local.properties | 8 ++++---- plotting/requirements.txt | 3 ++- .../evaluation/scenario/ScalabilityTPCCScenario.java | 6 +++--- .../de/uulm/omi/evaluation/task/FetchTpcCResult.java | 9 +++++++-- .../de/uulm/omi/evaluation/task/TpcCWorkload.java | 12 ++++++++++-- swagger/swagger.yaml | 2 +- 6 files changed, 27 insertions(+), 13 deletions(-) diff --git a/conf/local.properties b/conf/local.properties index 8db6168..be9bc04 100644 --- a/conf/local.properties +++ b/conf/local.properties @@ -1,19 +1,19 @@ # Colosseum #colosseumUri=http://134.60.152.90:9000/api -colosseumUri=http://134.60.244.56:9000/api +colosseumUri=http://134.60.153.38:9000/api # Application Catalogue #applicationCatalogue=http://localhost:9091/v1 -applicationCatalogue=http://134.60.244.56:9091/v1 +applicationCatalogue=http://134.60.153.38:9091/v1 # Workload-API #workloadApi=http://134.60.47.80:8181/v1 #workloadApi=http://localhost:8181/v1 -workloadApi=http://134.60.64.88:8181/v1 +workloadApi=http://134.60.64.144:8181/v1 # InfluxDB -influxDbUrl=http://134.60.244.56:8086 +influxDbUrl=http://134.60.153.38:8086 influxDbDatabase=telegraf #influxDbUser=carlos diff --git a/plotting/requirements.txt b/plotting/requirements.txt index e420230..8a277a8 100644 --- a/plotting/requirements.txt +++ b/plotting/requirements.txt @@ -1,4 +1,5 @@ matplotlib numpy pandas -influxdb \ No newline at end of file +influxdb +seaborn \ No newline at end of file diff --git a/src/main/java/de/uulm/omi/evaluation/scenario/ScalabilityTPCCScenario.java b/src/main/java/de/uulm/omi/evaluation/scenario/ScalabilityTPCCScenario.java index cd22b90..30949b3 100644 --- a/src/main/java/de/uulm/omi/evaluation/scenario/ScalabilityTPCCScenario.java +++ b/src/main/java/de/uulm/omi/evaluation/scenario/ScalabilityTPCCScenario.java @@ -61,15 +61,15 @@ public class ScalabilityTPCCScenario extends EvaluationScenario { CheckDeployment checkDeployment = new CheckDeployment(this.evaluationContext, this.dbmsClusterContext); - CheckWorkload checkWorkload = new CheckWorkload(this.evaluationContext, this.workloadPhaseContext,null); + CheckWorkload checkWorkload = new CheckWorkload(this.evaluationContext, this.workloadPhaseContext,this.scenarioSpec.getWorkloadInstances()); - FetchTpcCResult fetchTpcCResult = new FetchTpcCResult(this.evaluationContext); + FetchTpcCResult fetchTpcCResult = new FetchTpcCResult(this.evaluationContext, this.scenarioSpec.getWorkloadInstances()); CleanUpResources cleanUpResources = new CleanUpResources(this.evaluationContext, this.dbmsClusterContext, this.cleanUp); TpcCWorkload tpccWorkload = new TpcCWorkload(this.evaluationContext, this.dbmsClusterContext, - this.scenarioSpec.getWorkload(), this.scenarioSpec.getWorkloadNetwork(), this.workloadPhaseContext); + this.scenarioSpec.getWorkload(), this.scenarioSpec.getWorkloadNetwork(), this.workloadPhaseContext, this.scenarioSpec.getWorkloadInstances()); CleanUpRun cleanUpRun = new CleanUpRun(this.evaluationContext, dbmsClusterContext); diff --git a/src/main/java/de/uulm/omi/evaluation/task/FetchTpcCResult.java b/src/main/java/de/uulm/omi/evaluation/task/FetchTpcCResult.java index d484f7d..600f700 100644 --- a/src/main/java/de/uulm/omi/evaluation/task/FetchTpcCResult.java +++ b/src/main/java/de/uulm/omi/evaluation/task/FetchTpcCResult.java @@ -7,6 +7,7 @@ import de.uulm.omi.dbms.workload.client.ApiException; import de.uulm.omi.utils.WorkloadApiClientHelper; import java.io.File; import java.io.IOException; +import java.util.List; import org.jeasy.flows.work.DefaultWorkReport; import org.jeasy.flows.work.WorkReport; import org.jeasy.flows.work.WorkStatus; @@ -16,15 +17,19 @@ import org.jeasy.flows.work.WorkStatus; */ public class FetchTpcCResult extends EvaluationTask { - public FetchTpcCResult(EvaluationContext evaluationContext) { + private final List workloadInstances; + + public FetchTpcCResult(EvaluationContext evaluationContext, List workloadInstances) { super(TaskType.FETCH_WORKLOAD, evaluationContext); + this.workloadInstances = workloadInstances; + } @Override public WorkReport call() { - DefaultApi apiInstance = WorkloadApiClientHelper.getWorkloadClients(null).get(0); + DefaultApi apiInstance = WorkloadApiClientHelper.getWorkloadClients(workloadInstances).get(0); String loggerPrefix= "RUN " + this.evaluationContext.getRunCounter().intValue() +": "; diff --git a/src/main/java/de/uulm/omi/evaluation/task/TpcCWorkload.java b/src/main/java/de/uulm/omi/evaluation/task/TpcCWorkload.java index 38b0895..8dac7a6 100644 --- a/src/main/java/de/uulm/omi/evaluation/task/TpcCWorkload.java +++ b/src/main/java/de/uulm/omi/evaluation/task/TpcCWorkload.java @@ -14,6 +14,7 @@ import de.uulm.omi.utils.ColosseumUtils; import de.uulm.omi.utils.DBMSNodeType; import de.uulm.omi.utils.WorkloadApiClientHelper; import java.io.File; +import java.util.List; import org.jeasy.flows.work.DefaultWorkReport; import org.jeasy.flows.work.WorkReport; import org.jeasy.flows.work.WorkStatus; @@ -27,16 +28,19 @@ public class TpcCWorkload extends EvaluationTask { private final EvaluationNetwork network; private final ClusterContext clusterContext; private final WorkloadPhaseContext workloadPhaseContext; + private final List workloadInstances; private String loggerPrefix = ""; public TpcCWorkload(EvaluationContext evaluationContext, ClusterContext clusterContext, - TPCCWorkload tpccWorkload, EvaluationNetwork network, WorkloadPhaseContext workloadPhaseContext) { + TPCCWorkload tpccWorkload, EvaluationNetwork network, WorkloadPhaseContext workloadPhaseContext, + List workloadInstances) { super(TaskType.TPCC, evaluationContext); this.tpccWorkload = tpccWorkload; this.network = network; this.clusterContext = clusterContext; this.workloadPhaseContext = workloadPhaseContext; + this.workloadInstances = workloadInstances; } @Override @@ -44,8 +48,12 @@ public class TpcCWorkload extends EvaluationTask { this.loggerPrefix= "RUN " + this.evaluationContext.getRunCounter().intValue() +": "; + if(this.workloadInstances.size()>1){ + LOGGER.warn(loggerPrefix + " Using more than one workloadInstance for the TPC-C workload is currently not supported! Just using the first one!"); + } + //get workloadApi client - DefaultApi workloadClient = WorkloadApiClientHelper.getWorkloadClients(null).get(0); + DefaultApi workloadClient = WorkloadApiClientHelper.getWorkloadClients(this.workloadInstances).get(0); Long appInstanceId = Long.valueOf(this.clusterContext.getIdApplicationInstance()); checkNotNull(appInstanceId); diff --git a/swagger/swagger.yaml b/swagger/swagger.yaml index 9e3fe2f..089028b 100644 --- a/swagger/swagger.yaml +++ b/swagger/swagger.yaml @@ -460,7 +460,7 @@ paths: schema: $ref: '#/definitions/EvaluationStatus' '403': - description: already ae evaluation running + description: already an evaluation running schema: $ref: '#/definitions/EvaluationSubmissionError' default: -- GitLab