From e8f2a118972660ae8199232c02d80e4573ab3584 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6ren=20Henning?= <soeren.henning@email.uni-kiel.de> Date: Sat, 17 Apr 2021 16:27:34 +0200 Subject: [PATCH] Move towards aligment of files with analysis --- .../theodolite/evaluation/AnalysisExecutor.kt | 18 +++++++++++++++++- .../theodolite/evaluation/CsvExporter.kt | 2 +- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/theodolite-quarkus/src/main/kotlin/theodolite/evaluation/AnalysisExecutor.kt b/theodolite-quarkus/src/main/kotlin/theodolite/evaluation/AnalysisExecutor.kt index a53ec5ad9..f15ec808a 100644 --- a/theodolite-quarkus/src/main/kotlin/theodolite/evaluation/AnalysisExecutor.kt +++ b/theodolite-quarkus/src/main/kotlin/theodolite/evaluation/AnalysisExecutor.kt @@ -4,8 +4,11 @@ import mu.KotlinLogging import theodolite.benchmark.BenchmarkExecution import theodolite.util.LoadDimension import theodolite.util.Resource +import java.text.Normalizer import java.time.Duration import java.time.Instant +import java.util.* +import java.util.regex.Pattern private val logger = KotlinLogging.logger {} @@ -41,7 +44,10 @@ class AnalysisExecutor( query = "sum by(group)(kafka_consumergroup_group_lag >= 0)" ) - CsvExporter().toCsv(name = "$executionId-${load.get()}-${res.get()}-${slo.sloType}", prom = prometheusData) + CsvExporter().toCsv( + name = "exp${executionId}_${load.get()}_${res.get()}_${slo.sloType.toSlug()}", + prom = prometheusData + ) val sloChecker = SloCheckerFactory().create( sloType = slo.sloType, externalSlopeURL = slo.externalSloUrl, @@ -59,4 +65,14 @@ class AnalysisExecutor( } return result } + + private val NONLATIN: Pattern = Pattern.compile("[^\\w-]") + private val WHITESPACE: Pattern = Pattern.compile("[\\s]") + + fun String.toSlug(): String { + val noWhitespace: String = WHITESPACE.matcher(this).replaceAll("-") + val normalized: String = Normalizer.normalize(noWhitespace, Normalizer.Form.NFD) + val slug: String = NONLATIN.matcher(normalized).replaceAll("") + return slug.toLowerCase(Locale.ENGLISH) + } } diff --git a/theodolite-quarkus/src/main/kotlin/theodolite/evaluation/CsvExporter.kt b/theodolite-quarkus/src/main/kotlin/theodolite/evaluation/CsvExporter.kt index 471107d6b..4ef78cd58 100644 --- a/theodolite-quarkus/src/main/kotlin/theodolite/evaluation/CsvExporter.kt +++ b/theodolite-quarkus/src/main/kotlin/theodolite/evaluation/CsvExporter.kt @@ -24,7 +24,7 @@ class CsvExporter { val csvOutputFile = File("$name.csv") PrintWriter(csvOutputFile).use { pw -> - pw.println(listOf("name", "time", "value").joinToString()) + pw.println(listOf("group", "timestamp", "value").joinToString()) responseArray.forEach { pw.println(it.joinToString()) } -- GitLab