From 03fb239c25e155e8ef41df7381ffde6c1b24982e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Henning?= <soeren.henning@email.uni-kiel.de>
Date: Wed, 15 Jun 2022 17:20:43 +0200
Subject: [PATCH] Add basic support for floating point values

---
 slo-checker/generic/app/main.py    | 4 ++--
 slo-checker/record-lag/app/main.py | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/slo-checker/generic/app/main.py b/slo-checker/generic/app/main.py
index e483c26b4..6dd78ac13 100644
--- a/slo-checker/generic/app/main.py
+++ b/slo-checker/generic/app/main.py
@@ -37,7 +37,7 @@ def aggr_query(values: dict, warmup: int, aggr_func):
     df = pd.DataFrame.from_dict(values)
     df.columns = ['timestamp', 'value']
     filtered = df[df['timestamp'] >= (df['timestamp'][0] + warmup)]
-    filtered['value'] = filtered['value'].astype(float).astype(int)
+    filtered['value'] = filtered['value'].astype(float)
     return filtered['value'].aggregate(aggr_func)
 
 def check_result(result, operator: str, threshold):
@@ -63,7 +63,7 @@ async def check_slo(request: Request):
     query_aggregation = get_aggr_func(data['metadata']['queryAggregation'])
     rep_aggregation = get_aggr_func(data['metadata']['repetitionAggregation'])
     operator = data['metadata']['operator']
-    threshold = int(data['metadata']['threshold'])
+    threshold = float(data['metadata']['threshold'])
 
     query_results = [aggr_query(r[0]["values"], warmup, query_aggregation) for r in data["results"]]
     result = pd.DataFrame(query_results).aggregate(rep_aggregation).at[0]
diff --git a/slo-checker/record-lag/app/main.py b/slo-checker/record-lag/app/main.py
index bb68580a6..1141ac88d 100644
--- a/slo-checker/record-lag/app/main.py
+++ b/slo-checker/record-lag/app/main.py
@@ -27,7 +27,7 @@ def calculate_slope_trend(results, warmup):
         group = result['metric'].get('consumergroup', "default")
         for value in result['values']:
             d.append({'group': group, 'timestamp': int(
-                value[0]), 'value': int(value[1]) if value[1] != 'NaN' else 0})
+                value[0]), 'value': float(value[1]) if value[1] != 'NaN' else 0})
 
     df = pd.DataFrame(d)
 
-- 
GitLab