Skip to content
Snippets Groups Projects
Commit 03fb239c authored by Sören Henning's avatar Sören Henning
Browse files

Add basic support for floating point values

parent 689573aa
No related branches found
No related tags found
1 merge request!286Support floating point values in SLO evaluation
Pipeline #8637 failed
...@@ -37,7 +37,7 @@ def aggr_query(values: dict, warmup: int, aggr_func): ...@@ -37,7 +37,7 @@ def aggr_query(values: dict, warmup: int, aggr_func):
df = pd.DataFrame.from_dict(values) df = pd.DataFrame.from_dict(values)
df.columns = ['timestamp', 'value'] df.columns = ['timestamp', 'value']
filtered = df[df['timestamp'] >= (df['timestamp'][0] + warmup)] 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) return filtered['value'].aggregate(aggr_func)
def check_result(result, operator: str, threshold): def check_result(result, operator: str, threshold):
...@@ -63,7 +63,7 @@ async def check_slo(request: Request): ...@@ -63,7 +63,7 @@ async def check_slo(request: Request):
query_aggregation = get_aggr_func(data['metadata']['queryAggregation']) query_aggregation = get_aggr_func(data['metadata']['queryAggregation'])
rep_aggregation = get_aggr_func(data['metadata']['repetitionAggregation']) rep_aggregation = get_aggr_func(data['metadata']['repetitionAggregation'])
operator = data['metadata']['operator'] 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"]] 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] result = pd.DataFrame(query_results).aggregate(rep_aggregation).at[0]
......
...@@ -27,7 +27,7 @@ def calculate_slope_trend(results, warmup): ...@@ -27,7 +27,7 @@ def calculate_slope_trend(results, warmup):
group = result['metric'].get('consumergroup', "default") group = result['metric'].get('consumergroup', "default")
for value in result['values']: for value in result['values']:
d.append({'group': group, 'timestamp': int( 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) df = pd.DataFrame(d)
......
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