From d55b5244b9a1f37a339c031e5991c027f39dbaa6 Mon Sep 17 00:00:00 2001 From: lorenz <stu203404@mail.uni-kiel.de> Date: Sat, 13 Mar 2021 12:36:09 +0100 Subject: [PATCH] Cleanup --- slope-evaluator/app/main.py | 3 +-- theodolite-quarkus/build.gradle | 5 ++--- .../kotlin/theodolite/evaluation/ExternalSloChecker.kt | 7 +++++-- .../main/kotlin/theodolite/evaluation/MetricFetcher.kt | 10 ++++++---- 4 files changed, 14 insertions(+), 11 deletions(-) diff --git a/slope-evaluator/app/main.py b/slope-evaluator/app/main.py index 6e06849ee..83709c0f7 100644 --- a/slope-evaluator/app/main.py +++ b/slope-evaluator/app/main.py @@ -46,7 +46,6 @@ def execute(results, threshold, warmup): @app.post("/evaluate-slope",response_model=bool) async def evaluate_slope(request: Request): data = json.loads(await request.body()) - logger.info("Request received") - return execute(data['total_lag'], data['threshold'],data['warmup']) + return execute(data['total_lag'], data['threshold'], data['warmup']) logger.info("Slope evaluator is online") \ No newline at end of file diff --git a/theodolite-quarkus/build.gradle b/theodolite-quarkus/build.gradle index d6a4348da..1ceb09377 100644 --- a/theodolite-quarkus/build.gradle +++ b/theodolite-quarkus/build.gradle @@ -25,9 +25,8 @@ dependencies { implementation 'org.slf4j:slf4j-simple:1.7.29' implementation 'io.github.microutils:kotlin-logging:1.12.0' implementation 'io.fabric8:kubernetes-client:5.0.0-alpha-2' - compile group: 'org.apache.kafka', name: 'kafka-clients', version: '2.7.0' - compile group: 'org.apache.zookeeper', name: 'zookeeper', version: '3.6.2' - compile "khttp:khttp:1.0.0" + implementation 'org.apache.kafka:kafka-clients:2.7.0' + implementation 'khttp:khttp:1.0.0' } group 'theodolite' diff --git a/theodolite-quarkus/src/main/kotlin/theodolite/evaluation/ExternalSloChecker.kt b/theodolite-quarkus/src/main/kotlin/theodolite/evaluation/ExternalSloChecker.kt index fea4c3485..b967d2d92 100644 --- a/theodolite-quarkus/src/main/kotlin/theodolite/evaluation/ExternalSloChecker.kt +++ b/theodolite-quarkus/src/main/kotlin/theodolite/evaluation/ExternalSloChecker.kt @@ -16,6 +16,9 @@ class ExternalSloChecker( ) : SloChecker { + private val RETRYS = 2 + private val TIMEOUT = 60.0 + override fun evaluate(start: Instant, end: Instant): Boolean { var counter = 0 val metricFetcher = MetricFetcher(prometheusURL = prometheusURL, offset = offset) @@ -23,8 +26,8 @@ class ExternalSloChecker( val data = Gson().toJson(mapOf("total_lag" to fetchedData.data?.result, "threshold" to threshold, "warmup" to warmup)) - while (counter < 2) { - val result = post(externalSlopeURL, data = data, timeout = 60.0) + while (counter < RETRYS) { + val result = post(externalSlopeURL, data = data, timeout = TIMEOUT) if (result.statusCode != 200) { counter++ } else { diff --git a/theodolite-quarkus/src/main/kotlin/theodolite/evaluation/MetricFetcher.kt b/theodolite-quarkus/src/main/kotlin/theodolite/evaluation/MetricFetcher.kt index f320ca3cf..b828b0213 100644 --- a/theodolite-quarkus/src/main/kotlin/theodolite/evaluation/MetricFetcher.kt +++ b/theodolite-quarkus/src/main/kotlin/theodolite/evaluation/MetricFetcher.kt @@ -12,13 +12,15 @@ import java.time.Instant private val logger = KotlinLogging.logger {} class MetricFetcher(private val prometheusURL: String, private val offset: Duration) { + private val RETRYS = 2 + private val TIMEOUT = 60.0 fun fetchMetric(start: Instant, end: Instant, query: String): PrometheusResponse { val offsetStart = start.minus(offset) val offsetEnd = end.minus(offset) - var trys = 0 + var counter = 0 val parameter = mapOf( "query" to query, "start" to offsetStart.toString(), @@ -26,12 +28,12 @@ class MetricFetcher(private val prometheusURL: String, private val offset: Durat "step" to "5s" ) - while (trys < 2) { - val response = get("$prometheusURL/api/v1/query_range", params = parameter, timeout = 60.0) + while (counter < RETRYS) { + val response = get("$prometheusURL/api/v1/query_range", params = parameter, timeout = TIMEOUT) if (response.statusCode != 200) { val message = response.jsonObject.toString() logger.warn { "Could not connect to Prometheus: $message, retrying now" } - trys++ + counter++ } else { val values = parseValues(response) if (values.data?.result.isNullOrEmpty()) { -- GitLab