Skip to content
Snippets Groups Projects
Commit a88c3ea5 authored by Benedikt Wetzel's avatar Benedikt Wetzel
Browse files

add logging

parent 0d2bbce8
No related branches found
No related tags found
4 merge requests!159Re-implementation of Theodolite with Kotlin/Quarkus,!157Update Graal Image in CI pipeline,!137Allow multiple repititions of an experiment,!83WIP: Re-implementation of Theodolite with Kotlin/Quarkus
......@@ -20,7 +20,7 @@ loadTypes:
container: "workload-generator"
variableName: "NUM_SENSORS"
kafkaConfig:
bootstrapServer: "my-confluent-cp-kafka:9092"
bootstrapServer: "localhost:31290" # "my-confluent-cp-kafka:9092"
topics:
- name: "input"
numPartitions: 40
......
......@@ -22,6 +22,8 @@ class AnalysisExecutor(private val slo: BenchmarkExecution.Slo) {
val prometheusData = executionIntervals.map { interval -> fetcher.fetchMetric( start = interval.first, end = interval.second, query = "sum by(group)(kafka_consumergroup_group_lag >= 0)") }
var repetitionCounter = 0
prometheusData.forEach{ data -> exporter.toCsv(name = "${load.get()}_${res.get()}_${slo.sloType}_rep_${repetitionCounter++}", prom = data) }
prometheusData.forEach { logger.info { "prom-data: $it" }}
try {
val sloChecker = SloCheckerFactory().create(
......
......@@ -26,6 +26,7 @@ class ExternalSloChecker(
requestData.add(mapOf("warmup" to warmup).toString())
while (counter < RETRIES) {
val result = post(externalSlopeURL, data = requestData, timeout = TIMEOUT)
if (result.statusCode != 200) {
......
......@@ -23,16 +23,19 @@ class BenchmarkExecutorImpl(
override fun runExperiment(load: LoadDimension, res: Resource): Boolean {
var result = false
val executionIntervals: MutableList<Pair<Instant, Instant>> = ArrayList(repetitions)
executionIntervals
for (i in 1.rangeTo(repetitions)) {
if (this.run.get()) {
executionIntervals.add(runSingleExperiment(load,res))
} else {
break
}
}
if (this.run.get()) {
result =
AnalysisExecutor(slo = slo).analyze(load = load, res = res, executionIntervals = executionIntervals)
executionIntervals.forEach{ logger.info { "interval for evaluation; from: ${it.first}, to: ${it.second}"}}
result =AnalysisExecutor(slo = slo)
.analyze(load = load, res = res, executionIntervals = executionIntervals)
this.results.setResult(Pair(load, res), result)
}
return result
......
......@@ -15,8 +15,8 @@ class TheodoliteYamlExecutor {
fun start() {
logger.info { "Theodolite started" }
val executionPath = System.getenv("THEODOLITE_EXECUTION") ?: "./config/BenchmarkExecution.yaml"
val benchmarkPath = System.getenv("THEODOLITE_BENCHMARK") ?: "./config/BenchmarkType.yaml"
val executionPath = System.getenv("THEODOLITE_EXECUTION") ?: "./config/example-execution-yaml-resource.yaml"
val benchmarkPath = System.getenv("THEODOLITE_BENCHMARK") ?: "./config/example-benchmark-yaml-resource.yaml"
logger.info { "Using $executionPath for BenchmarkExecution" }
logger.info { "Using $benchmarkPath for BenchmarkType" }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment