Commit 244519ab authored by Daniel Seybold's avatar Daniel Seybold

finished first version of tsbs integration

parent cc8bdb10
Pipeline #80370 passed with stage
in 16 minutes and 27 seconds
/*
* Workload API
* Benchmark your distributed DBMS with a specific workload
*
* OpenAPI spec version: 0.0.1
*
*
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen.git
* Do not edit the class manually.
*/
package de.uulm.omi.cloudiator.dbms.evaluator.model;
import java.util.Objects;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonCreator;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import javax.validation.constraints.*;
/**
* parameters for the data generation phase
*/
@ApiModel(description = "parameters for the data generation phase")
@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-06T14:02:53.472+02:00")
public class TSBSDataGeneration {
@JsonProperty("usecase")
private String usecase = null;
@JsonProperty("seed")
private BigDecimal seed = null;
@JsonProperty("scale")
private BigDecimal scale = null;
@JsonProperty("startTime")
private String startTime = null;
@JsonProperty("endTime")
private String endTime = null;
@JsonProperty("logInterval")
private String logInterval = null;
public TSBSDataGeneration usecase(String usecase) {
this.usecase = usecase;
return this;
}
/**
* TSBBS supports currently: devops, iot
* @return usecase
**/
@JsonProperty("usecase")
@ApiModelProperty(example = "cpu-only", value = "TSBBS supports currently: devops, iot ")
public String getUsecase() {
return usecase;
}
public void setUsecase(String usecase) {
this.usecase = usecase;
}
public TSBSDataGeneration seed(BigDecimal seed) {
this.seed = seed;
return this;
}
/**
* By supplying the same seed to the generation programs, each database is loaded with identical data and queried using identical queries.
* @return seed
**/
@JsonProperty("seed")
@ApiModelProperty(example = "123.0", value = "By supplying the same seed to the generation programs, each database is loaded with identical data and queried using identical queries.")
public BigDecimal getSeed() {
return seed;
}
public void setSeed(BigDecimal seed) {
this.seed = seed;
}
public TSBSDataGeneration scale(BigDecimal scale) {
this.scale = scale;
return this;
}
/**
* TODO
* @return scale
**/
@JsonProperty("scale")
@ApiModelProperty(example = "1000.0", value = "TODO")
public BigDecimal getScale() {
return scale;
}
public void setScale(BigDecimal scale) {
this.scale = scale;
}
public TSBSDataGeneration startTime(String startTime) {
this.startTime = startTime;
return this;
}
/**
* starting timestamp for generating the data
* @return startTime
**/
@JsonProperty("startTime")
@ApiModelProperty(example = "2016-01-01T00:00:00Z", value = "starting timestamp for generating the data")
public String getStartTime() {
return startTime;
}
public void setStartTime(String startTime) {
this.startTime = startTime;
}
public TSBSDataGeneration endTime(String endTime) {
this.endTime = endTime;
return this;
}
/**
* ending timestamp for generating the data
* @return endTime
**/
@JsonProperty("endTime")
@ApiModelProperty(example = "2016-01-04T00:00:00Z", value = "ending timestamp for generating the data")
public String getEndTime() {
return endTime;
}
public void setEndTime(String endTime) {
this.endTime = endTime;
}
public TSBSDataGeneration logInterval(String logInterval) {
this.logInterval = logInterval;
return this;
}
/**
* TODO
* @return logInterval
**/
@JsonProperty("logInterval")
@ApiModelProperty(example = "10s", value = "TODO")
public String getLogInterval() {
return logInterval;
}
public void setLogInterval(String logInterval) {
this.logInterval = logInterval;
}
@Override
public boolean equals(java.lang.Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
TSBSDataGeneration tsBSDataGeneration = (TSBSDataGeneration) o;
return Objects.equals(this.usecase, tsBSDataGeneration.usecase) &&
Objects.equals(this.seed, tsBSDataGeneration.seed) &&
Objects.equals(this.scale, tsBSDataGeneration.scale) &&
Objects.equals(this.startTime, tsBSDataGeneration.startTime) &&
Objects.equals(this.endTime, tsBSDataGeneration.endTime) &&
Objects.equals(this.logInterval, tsBSDataGeneration.logInterval);
}
@Override
public int hashCode() {
return Objects.hash(usecase, seed, scale, startTime, endTime, logInterval);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class TSBSDataGeneration {\n");
sb.append(" usecase: ").append(toIndentedString(usecase)).append("\n");
sb.append(" seed: ").append(toIndentedString(seed)).append("\n");
sb.append(" scale: ").append(toIndentedString(scale)).append("\n");
sb.append(" startTime: ").append(toIndentedString(startTime)).append("\n");
sb.append(" endTime: ").append(toIndentedString(endTime)).append("\n");
sb.append(" logInterval: ").append(toIndentedString(logInterval)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}
/*
* Workload API
* Benchmark your distributed DBMS with a specific workload
*
* OpenAPI spec version: 0.0.1
*
*
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen.git
* Do not edit the class manually.
*/
package de.uulm.omi.cloudiator.dbms.evaluator.model;
import java.util.Objects;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonCreator;
import de.uulm.omi.cloudiator.dbms.evaluator.model.TSDBMSDBMSProperties;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import javax.validation.constraints.*;
/**
* TSBSLoadExecution
*/
@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-06T14:02:53.472+02:00")
public class TSBSLoadExecution {
@JsonProperty("workers")
private BigDecimal workers = null;
@JsonProperty("batchSize")
private BigDecimal batchSize = null;
@JsonProperty("dbName")
private String dbName = null;
@JsonProperty("reportingPeriod")
private String reportingPeriod = null;
@JsonProperty("dbmsPorperties")
private java.util.List<TSDBMSDBMSProperties> dbmsPorperties = null;
public TSBSLoadExecution workers(BigDecimal workers) {
this.workers = workers;
return this;
}
/**
* The number of workers to load the ts data into the DBMS
* @return workers
**/
@JsonProperty("workers")
@ApiModelProperty(example = "2.0", value = "The number of workers to load the ts data into the DBMS")
public BigDecimal getWorkers() {
return workers;
}
public void setWorkers(BigDecimal workers) {
this.workers = workers;
}
public TSBSLoadExecution batchSize(BigDecimal batchSize) {
this.batchSize = batchSize;
return this;
}
/**
* The batch size to use for inserting the data
* @return batchSize
**/
@JsonProperty("batchSize")
@ApiModelProperty(example = "1000.0", value = "The batch size to use for inserting the data")
public BigDecimal getBatchSize() {
return batchSize;
}
public void setBatchSize(BigDecimal batchSize) {
this.batchSize = batchSize;
}
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;
return this;
}
public TSBSLoadExecution addDbmsPorpertiesItem(TSDBMSDBMSProperties dbmsPorpertiesItem) {
if (this.dbmsPorperties == null) {
this.dbmsPorperties = new java.util.ArrayList<>();
}
this.dbmsPorperties.add(dbmsPorpertiesItem);
return this;
}
/**
* Get dbmsPorperties
* @return dbmsPorperties
**/
@JsonProperty("dbmsPorperties")
@ApiModelProperty(value = "")
public java.util.List<TSDBMSDBMSProperties> getDbmsPorperties() {
return dbmsPorperties;
}
public void setDbmsPorperties(java.util.List<TSDBMSDBMSProperties> dbmsPorperties) {
this.dbmsPorperties = dbmsPorperties;
}
@Override
public boolean equals(java.lang.Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
TSBSLoadExecution tsBSLoadExecution = (TSBSLoadExecution) o;
return Objects.equals(this.workers, tsBSLoadExecution.workers) &&
Objects.equals(this.batchSize, tsBSLoadExecution.batchSize) &&
Objects.equals(this.dbName, tsBSLoadExecution.dbName) &&
Objects.equals(this.reportingPeriod, tsBSLoadExecution.reportingPeriod) &&
Objects.equals(this.dbmsPorperties, tsBSLoadExecution.dbmsPorperties);
}
@Override
public int hashCode() {
return Objects.hash(workers, batchSize, dbName, reportingPeriod, dbmsPorperties);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class TSBSLoadExecution {\n");
sb.append(" workers: ").append(toIndentedString(workers)).append("\n");
sb.append(" batchSize: ").append(toIndentedString(batchSize)).append("\n");
sb.append(" dbName: ").append(toIndentedString(dbName)).append("\n");
sb.append(" reportingPeriod: ").append(toIndentedString(reportingPeriod)).append("\n");
sb.append(" dbmsPorperties: ").append(toIndentedString(dbmsPorperties)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}
/*
* Workload API
* Benchmark your distributed DBMS with a specific workload
*
* OpenAPI spec version: 0.0.1
*
*
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen.git
* Do not edit the class manually.
*/
package de.uulm.omi.cloudiator.dbms.evaluator.model;
import java.util.Objects;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonCreator;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import javax.validation.constraints.*;
/**
* parameters for the query generation phase
*/
@ApiModel(description = "parameters for the query generation phase")
@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-06T14:02:53.472+02:00")
public class TSBSQueryGeneration {
@JsonProperty("usecase")
private String usecase = null;
@JsonProperty("queries")
private BigDecimal queries = null;
@JsonProperty("queryType")
private String queryType = null;
public TSBSQueryGeneration usecase(String usecase) {
this.usecase = usecase;
return this;
}
/**
* Query types to be executed, check TSBS docs for more details
* @return usecase
**/
@JsonProperty("usecase")
@ApiModelProperty(example = "cpu-only", value = "Query types to be executed, check TSBS docs for more details")
public String getUsecase() {
return usecase;
}
public void setUsecase(String usecase) {
this.usecase = usecase;
}
public TSBSQueryGeneration queries(BigDecimal queries) {
this.queries = queries;
return this;
}
/**
* the number of queries to generate
* @return queries
**/
@JsonProperty("queries")
@ApiModelProperty(example = "20.0", value = "the number of queries to generate")
public BigDecimal getQueries() {
return queries;
}
public void setQueries(BigDecimal queries) {
this.queries = queries;
}
public TSBSQueryGeneration queryType(String queryType) {
this.queryType = queryType;
return this;
}
/**
* specifies one of the supported query type
* @return queryType
**/
@JsonProperty("queryType")
@ApiModelProperty(example = "single-groupby-1-1-1", value = "specifies one of the supported query type")
public String getQueryType() {
return queryType;
}
public void setQueryType(String queryType) {
this.queryType = queryType;
}
@Override
public boolean equals(java.lang.Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
TSBSQueryGeneration tsBSQueryGeneration = (TSBSQueryGeneration) o;
return Objects.equals(this.usecase, tsBSQueryGeneration.usecase) &&
Objects.equals(this.queries, tsBSQueryGeneration.queries) &&
Objects.equals(this.queryType, tsBSQueryGeneration.queryType);
}
@Override
public int hashCode() {
return Objects.hash(usecase, queries, queryType);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class TSBSQueryGeneration {\n");
sb.append(" usecase: ").append(toIndentedString(usecase)).append("\n");
sb.append(" queries: ").append(toIndentedString(queries)).append("\n");
sb.append(" queryType: ").append(toIndentedString(queryType)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}
/*
* Workload API
* Benchmark your distributed DBMS with a specific workload
*
* OpenAPI spec version: 0.0.1
*
*
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen.git
* Do not edit the class manually.
*/
package de.uulm.omi.cloudiator.dbms.evaluator.model;
import java.util.Objects;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import de.uulm.omi.cloudiator.dbms.evaluator.model.DBEndpoints;
import de.uulm.omi.cloudiator.dbms.evaluator.model.TSBSDataGeneration;
import de.uulm.omi.cloudiator.dbms.evaluator.model.TSBSLoadExecution;
import de.uulm.omi.cloudiator.dbms.evaluator.model.TSBSQueryExecution;
import de.uulm.omi.cloudiator.dbms.evaluator.model.TSBSQueryGeneration;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import javax.validation.constraints.*;
/**
* TSBSWorkload
*/
@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaJerseyServerCodegen", date = "2020-05-06T14:02:53.472+02:00")
public class TSBSWorkload {
@JsonProperty("dbEndpoints")
private DBEndpoints dbEndpoints = null;
/**
* specifies the data format for the selected DBMS
*/
public enum DbmsEnum {
INFLUX("influx"),
TIMESCALEDB("timescaledb"),
MONGODB("mongodb"),
CASSANDRA("cassandra");
private String value;