Commit 1f37d361 authored by Daniel Seybold's avatar Daniel Seybold

Merge branch 'tsbs-integration-stable' into 'master'

Tsbs integration stable

See merge request !3
parents f4a19e8b feaa9e0a
Pipeline #80757 passed with stage
in 16 minutes
...@@ -84,10 +84,11 @@ function init(){ ...@@ -84,10 +84,11 @@ function init(){
# configure Swagger UI # configure Swagger UI
configureSwaggerUI configureSwaggerUI
# prepare result folder here and not in Dockerfile as host /tmp will be mounted for /opt/results # prepare result and data folder here and not in Dockerfile as host /tmp will be mounted for /opt/results
mkdir -p /opt/results/YCSB/ mkdir -p /opt/results/YCSB/
mkdir -p /opt/results/TPCC/ mkdir -p /opt/results/TPCC/
mkdir -p /opt/results/TSBS/ mkdir -p /opt/results/TSBS/
mkdir -p /opt/workloads/data/
# start telegraf service # start telegraf service
startTelegraf startTelegraf
......
...@@ -23,7 +23,7 @@ import javax.validation.constraints.*; ...@@ -23,7 +23,7 @@ import javax.validation.constraints.*;
/** /**
* DBEndpoint * DBEndpoint
*/ */
@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2019-11-25T12:06:59.598+01:00") @javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-08T15:27:14.409+02:00")
public class DBEndpoint { public class DBEndpoint {
@JsonProperty("ipAddress") @JsonProperty("ipAddress")
private String ipAddress = null; private String ipAddress = null;
......
...@@ -22,7 +22,7 @@ import javax.validation.constraints.*; ...@@ -22,7 +22,7 @@ import javax.validation.constraints.*;
* a list of the database endpoints to issue the workload * a list of the database endpoints to issue the workload
*/ */
@ApiModel(description = "a list of the database endpoints to issue the workload") @ApiModel(description = "a list of the database endpoints to issue the workload")
@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2019-11-25T12:06:59.598+01:00") @javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-08T15:27:14.409+02:00")
public class DBEndpoints extends java.util.ArrayList<DBEndpoint> { public class DBEndpoints extends java.util.ArrayList<DBEndpoint> {
@Override @Override
......
...@@ -25,7 +25,7 @@ import javax.validation.constraints.*; ...@@ -25,7 +25,7 @@ import javax.validation.constraints.*;
/** /**
* DatabaseConfig * DatabaseConfig
*/ */
@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2019-11-25T12:06:59.598+01:00") @javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-08T15:27:14.409+02:00")
public class DatabaseConfig { public class DatabaseConfig {
/** /**
* Gets or Sets databaseBinding * Gets or Sets databaseBinding
......
...@@ -23,7 +23,7 @@ import javax.validation.constraints.*; ...@@ -23,7 +23,7 @@ import javax.validation.constraints.*;
/** /**
* DatabaseConfigProperty * DatabaseConfigProperty
*/ */
@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2019-11-25T12:06:59.598+01:00") @javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-08T15:27:14.409+02:00")
public class DatabaseConfigProperty { public class DatabaseConfigProperty {
@JsonProperty("name") @JsonProperty("name")
private String name = null; private String name = null;
......
...@@ -23,7 +23,7 @@ import javax.validation.constraints.*; ...@@ -23,7 +23,7 @@ import javax.validation.constraints.*;
/** /**
* Error * Error
*/ */
@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2019-11-25T12:06:59.598+01:00") @javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-08T15:27:14.409+02:00")
public class Error { public class Error {
@JsonProperty("code") @JsonProperty("code")
private Integer code = null; private Integer code = null;
......
...@@ -24,7 +24,7 @@ import javax.validation.constraints.*; ...@@ -24,7 +24,7 @@ import javax.validation.constraints.*;
/** /**
* MeasurementConfig * MeasurementConfig
*/ */
@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2019-11-25T12:06:59.598+01:00") @javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-08T15:27:14.409+02:00")
public class MeasurementConfig { public class MeasurementConfig {
@JsonProperty("interval") @JsonProperty("interval")
private Integer interval = null; private Integer interval = null;
......
...@@ -25,7 +25,7 @@ import javax.validation.constraints.*; ...@@ -25,7 +25,7 @@ import javax.validation.constraints.*;
/** /**
* TPCCWorkload * TPCCWorkload
*/ */
@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2019-11-25T12:06:59.598+01:00") @javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-08T15:27:14.409+02:00")
public class TPCCWorkload { public class TPCCWorkload {
@JsonProperty("dbEndpoints") @JsonProperty("dbEndpoints")
private DBEndpoints dbEndpoints = null; private DBEndpoints dbEndpoints = null;
......
...@@ -23,7 +23,7 @@ import javax.validation.constraints.*; ...@@ -23,7 +23,7 @@ import javax.validation.constraints.*;
/** /**
* TPCCWorkloadConfig * TPCCWorkloadConfig
*/ */
@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2019-11-25T12:06:59.598+01:00") @javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-08T15:27:14.409+02:00")
public class TPCCWorkloadConfig { public class TPCCWorkloadConfig {
@JsonProperty("activeWarehouses") @JsonProperty("activeWarehouses")
private Integer activeWarehouses = null; private Integer activeWarehouses = null;
......
...@@ -16,17 +16,17 @@ package de.uulm.omi.cloudiator.dbms.evaluator.model; ...@@ -16,17 +16,17 @@ package de.uulm.omi.cloudiator.dbms.evaluator.model;
import java.util.Objects; import java.util.Objects;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal; import java.math.BigDecimal;
import javax.validation.constraints.*; import javax.validation.constraints.*;
/** /**
* TSBSDataConfig * parameters for the data generation phase
*/ */
@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2019-11-25T12:06:59.598+01:00") @ApiModel(description = "parameters for the data generation phase")
public class TSBSDataConfig { @javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-08T15:27:14.409+02:00")
public class TSBSDataGeneration {
@JsonProperty("usecase") @JsonProperty("usecase")
private String usecase = null; private String usecase = null;
...@@ -45,53 +45,17 @@ public class TSBSDataConfig { ...@@ -45,53 +45,17 @@ public class TSBSDataConfig {
@JsonProperty("logInterval") @JsonProperty("logInterval")
private String logInterval = null; private String logInterval = null;
/** public TSBSDataGeneration usecase(String usecase) {
* specifies the data format for the selected DBMS
*/
public enum FormatEnum {
INFLUX("influx"),
TIMESCALEDB("timescaledb"),
MONGODB("mongodb");
private String value;
FormatEnum(String value) {
this.value = value;
}
@Override
@JsonValue
public String toString() {
return String.valueOf(value);
}
@JsonCreator
public static FormatEnum fromValue(String text) {
for (FormatEnum b : FormatEnum.values()) {
if (String.valueOf(b.value).equals(text)) {
return b;
}
}
return null;
}
}
@JsonProperty("format")
private FormatEnum format = null;
public TSBSDataConfig usecase(String usecase) {
this.usecase = usecase; this.usecase = usecase;
return this; return this;
} }
/** /**
* TODO * TSBBS supports currently: devops, iot
* @return usecase * @return usecase
**/ **/
@JsonProperty("usecase") @JsonProperty("usecase")
@ApiModelProperty(example = "cpu-only", value = "TODO") @ApiModelProperty(example = "cpu-only", value = "TSBBS supports currently: devops, iot ")
public String getUsecase() { public String getUsecase() {
return usecase; return usecase;
} }
...@@ -100,7 +64,7 @@ public class TSBSDataConfig { ...@@ -100,7 +64,7 @@ public class TSBSDataConfig {
this.usecase = usecase; this.usecase = usecase;
} }
public TSBSDataConfig seed(BigDecimal seed) { public TSBSDataGeneration seed(BigDecimal seed) {
this.seed = seed; this.seed = seed;
return this; return this;
} }
...@@ -119,7 +83,7 @@ public class TSBSDataConfig { ...@@ -119,7 +83,7 @@ public class TSBSDataConfig {
this.seed = seed; this.seed = seed;
} }
public TSBSDataConfig scale(BigDecimal scale) { public TSBSDataGeneration scale(BigDecimal scale) {
this.scale = scale; this.scale = scale;
return this; return this;
} }
...@@ -138,7 +102,7 @@ public class TSBSDataConfig { ...@@ -138,7 +102,7 @@ public class TSBSDataConfig {
this.scale = scale; this.scale = scale;
} }
public TSBSDataConfig startTime(String startTime) { public TSBSDataGeneration startTime(String startTime) {
this.startTime = startTime; this.startTime = startTime;
return this; return this;
} }
...@@ -157,7 +121,7 @@ public class TSBSDataConfig { ...@@ -157,7 +121,7 @@ public class TSBSDataConfig {
this.startTime = startTime; this.startTime = startTime;
} }
public TSBSDataConfig endTime(String endTime) { public TSBSDataGeneration endTime(String endTime) {
this.endTime = endTime; this.endTime = endTime;
return this; return this;
} }
...@@ -167,7 +131,7 @@ public class TSBSDataConfig { ...@@ -167,7 +131,7 @@ public class TSBSDataConfig {
* @return endTime * @return endTime
**/ **/
@JsonProperty("endTime") @JsonProperty("endTime")
@ApiModelProperty(example = "2016-01-04T00:00:00Z", value = "ending timestamp for generating the data") @ApiModelProperty(example = "2016-01-01T01:00:00Z", value = "ending timestamp for generating the data")
public String getEndTime() { public String getEndTime() {
return endTime; return endTime;
} }
...@@ -176,7 +140,7 @@ public class TSBSDataConfig { ...@@ -176,7 +140,7 @@ public class TSBSDataConfig {
this.endTime = endTime; this.endTime = endTime;
} }
public TSBSDataConfig logInterval(String logInterval) { public TSBSDataGeneration logInterval(String logInterval) {
this.logInterval = logInterval; this.logInterval = logInterval;
return this; return this;
} }
...@@ -195,25 +159,6 @@ public class TSBSDataConfig { ...@@ -195,25 +159,6 @@ public class TSBSDataConfig {
this.logInterval = logInterval; this.logInterval = logInterval;
} }
public TSBSDataConfig format(FormatEnum format) {
this.format = format;
return this;
}
/**
* specifies the data format for the selected DBMS
* @return format
**/
@JsonProperty("format")
@ApiModelProperty(example = "influx", value = "specifies the data format for the selected DBMS")
public FormatEnum getFormat() {
return format;
}
public void setFormat(FormatEnum format) {
this.format = format;
}
@Override @Override
public boolean equals(java.lang.Object o) { public boolean equals(java.lang.Object o) {
...@@ -223,26 +168,25 @@ public class TSBSDataConfig { ...@@ -223,26 +168,25 @@ public class TSBSDataConfig {
if (o == null || getClass() != o.getClass()) { if (o == null || getClass() != o.getClass()) {
return false; return false;
} }
TSBSDataConfig tsBSDataConfig = (TSBSDataConfig) o; TSBSDataGeneration tsBSDataGeneration = (TSBSDataGeneration) o;
return Objects.equals(this.usecase, tsBSDataConfig.usecase) && return Objects.equals(this.usecase, tsBSDataGeneration.usecase) &&
Objects.equals(this.seed, tsBSDataConfig.seed) && Objects.equals(this.seed, tsBSDataGeneration.seed) &&
Objects.equals(this.scale, tsBSDataConfig.scale) && Objects.equals(this.scale, tsBSDataGeneration.scale) &&
Objects.equals(this.startTime, tsBSDataConfig.startTime) && Objects.equals(this.startTime, tsBSDataGeneration.startTime) &&
Objects.equals(this.endTime, tsBSDataConfig.endTime) && Objects.equals(this.endTime, tsBSDataGeneration.endTime) &&
Objects.equals(this.logInterval, tsBSDataConfig.logInterval) && Objects.equals(this.logInterval, tsBSDataGeneration.logInterval);
Objects.equals(this.format, tsBSDataConfig.format);
} }
@Override @Override
public int hashCode() { public int hashCode() {
return Objects.hash(usecase, seed, scale, startTime, endTime, logInterval, format); return Objects.hash(usecase, seed, scale, startTime, endTime, logInterval);
} }
@Override @Override
public String toString() { public String toString() {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append("class TSBSDataConfig {\n"); sb.append("class TSBSDataGeneration {\n");
sb.append(" usecase: ").append(toIndentedString(usecase)).append("\n"); sb.append(" usecase: ").append(toIndentedString(usecase)).append("\n");
sb.append(" seed: ").append(toIndentedString(seed)).append("\n"); sb.append(" seed: ").append(toIndentedString(seed)).append("\n");
...@@ -250,7 +194,6 @@ public class TSBSDataConfig { ...@@ -250,7 +194,6 @@ public class TSBSDataConfig {
sb.append(" startTime: ").append(toIndentedString(startTime)).append("\n"); sb.append(" startTime: ").append(toIndentedString(startTime)).append("\n");
sb.append(" endTime: ").append(toIndentedString(endTime)).append("\n"); sb.append(" endTime: ").append(toIndentedString(endTime)).append("\n");
sb.append(" logInterval: ").append(toIndentedString(logInterval)).append("\n"); sb.append(" logInterval: ").append(toIndentedString(logInterval)).append("\n");
sb.append(" format: ").append(toIndentedString(format)).append("\n");
sb.append("}"); sb.append("}");
return sb.toString(); return sb.toString();
} }
......
...@@ -23,39 +23,45 @@ import java.math.BigDecimal; ...@@ -23,39 +23,45 @@ import java.math.BigDecimal;
import javax.validation.constraints.*; import javax.validation.constraints.*;
/** /**
* TSBSLoadConfig * TSBSLoadExecution
*/ */
@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2019-11-25T12:06:59.598+01:00") @javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-08T15:27:14.409+02:00")
public class TSBSLoadConfig { public class TSBSLoadExecution {
@JsonProperty("numberOfWorkers") @JsonProperty("workers")
private BigDecimal numberOfWorkers = null; private BigDecimal workers = null;
@JsonProperty("batchSize") @JsonProperty("batchSize")
private BigDecimal batchSize = null; private BigDecimal batchSize = null;
@JsonProperty("dbName")
private String dbName = null;
@JsonProperty("reportingPeriod")
private String reportingPeriod = null;
@JsonProperty("dbmsPorperties") @JsonProperty("dbmsPorperties")
private java.util.List<TSDBMSDBMSProperties> dbmsPorperties = null; private java.util.List<TSDBMSDBMSProperties> dbmsPorperties = null;
public TSBSLoadConfig numberOfWorkers(BigDecimal numberOfWorkers) { public TSBSLoadExecution workers(BigDecimal workers) {
this.numberOfWorkers = numberOfWorkers; this.workers = workers;
return this; return this;
} }
/** /**
* The number of workers to load the ts data into the DBMS * The number of workers to load the ts data into the DBMS
* @return numberOfWorkers * @return workers
**/ **/
@JsonProperty("numberOfWorkers") @JsonProperty("workers")
@ApiModelProperty(example = "2.0", value = "The number of workers to load the ts data into the DBMS") @ApiModelProperty(example = "2.0", value = "The number of workers to load the ts data into the DBMS")
public BigDecimal getNumberOfWorkers() { public BigDecimal getWorkers() {
return numberOfWorkers; return workers;
} }
public void setNumberOfWorkers(BigDecimal numberOfWorkers) { public void setWorkers(BigDecimal workers) {
this.numberOfWorkers = numberOfWorkers; this.workers = workers;
} }
public TSBSLoadConfig batchSize(BigDecimal batchSize) { public TSBSLoadExecution batchSize(BigDecimal batchSize) {
this.batchSize = batchSize; this.batchSize = batchSize;
return this; return this;
} }
...@@ -74,12 +80,50 @@ public class TSBSLoadConfig { ...@@ -74,12 +80,50 @@ public class TSBSLoadConfig {
this.batchSize = batchSize; this.batchSize = batchSize;
} }
public TSBSLoadConfig dbmsPorperties(java.util.List<TSDBMSDBMSProperties> dbmsPorperties) { public TSBSLoadExecution dbName(String dbName) {
this.dbName = dbName;
return this;
}
/**
* The DB to use for the benchmark, will be created automatically
* @return dbName
**/
@JsonProperty("dbName")
@ApiModelProperty(example = "benchmark", value = "The DB to use for the benchmark, will be created automatically")
public String getDbName() {
return dbName;
}
public void setDbName(String dbName) {
this.dbName = dbName;
}
public TSBSLoadExecution reportingPeriod(String reportingPeriod) {
this.reportingPeriod = reportingPeriod;
return this;
}
/**
* metric reporting interval
* @return reportingPeriod
**/
@JsonProperty("reportingPeriod")
@ApiModelProperty(example = "10s", value = "metric reporting interval")
public String getReportingPeriod() {
return reportingPeriod;
}
public void setReportingPeriod(String reportingPeriod) {
this.reportingPeriod = reportingPeriod;
}
public TSBSLoadExecution dbmsPorperties(java.util.List<TSDBMSDBMSProperties> dbmsPorperties) {
this.dbmsPorperties = dbmsPorperties; this.dbmsPorperties = dbmsPorperties;
return this; return this;
} }
public TSBSLoadConfig addDbmsPorpertiesItem(TSDBMSDBMSProperties dbmsPorpertiesItem) { public TSBSLoadExecution addDbmsPorpertiesItem(TSDBMSDBMSProperties dbmsPorpertiesItem) {
if (this.dbmsPorperties == null) { if (this.dbmsPorperties == null) {
this.dbmsPorperties = new java.util.ArrayList<>(); this.dbmsPorperties = new java.util.ArrayList<>();
} }
...@@ -110,25 +154,29 @@ public class TSBSLoadConfig { ...@@ -110,25 +154,29 @@ public class TSBSLoadConfig {
if (o == null || getClass() != o.getClass()) { if (o == null || getClass() != o.getClass()) {
return false; return false;
} }
TSBSLoadConfig tsBSLoadConfig = (TSBSLoadConfig) o; TSBSLoadExecution tsBSLoadExecution = (TSBSLoadExecution) o;
return Objects.equals(this.numberOfWorkers, tsBSLoadConfig.numberOfWorkers) && return Objects.equals(this.workers, tsBSLoadExecution.workers) &&
Objects.equals(this.batchSize, tsBSLoadConfig.batchSize) && Objects.equals(this.batchSize, tsBSLoadExecution.batchSize) &&
Objects.equals(this.dbmsPorperties, tsBSLoadConfig.dbmsPorperties); Objects.equals(this.dbName, tsBSLoadExecution.dbName) &&
Objects.equals(this.reportingPeriod, tsBSLoadExecution.reportingPeriod) &&
Objects.equals(this.dbmsPorperties, tsBSLoadExecution.dbmsPorperties);
} }
@Override @Override
public int hashCode() { public int hashCode() {
return Objects.hash(numberOfWorkers, batchSize, dbmsPorperties); return Objects.hash(workers, batchSize, dbName, reportingPeriod, dbmsPorperties);
} }
@Override @Override
public String toString() { public String toString() {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append("class TSBSLoadConfig {\n"); sb.append("class TSBSLoadExecution {\n");
sb.append(" numberOfWorkers: ").append(toIndentedString(numberOfWorkers)).append("\n"); sb.append(" workers: ").append(toIndentedString(workers)).append("\n");
<