CSIT-1041: Trending dashboard
[csit.git] / resources / tools / presentation / generator_CPTA.py
index 25be09f..51787e4 100644 (file)
@@ -25,7 +25,7 @@ import numpy as np
 import pandas as pd
 
 from collections import OrderedDict
-from utils import find_outliers, archive_input_data, execute_command
+from utils import split_outliers, archive_input_data, execute_command
 
 
 # Command to build the html format of the report
@@ -165,7 +165,7 @@ def _evaluate_results(in_data, trimmed_data, window=10):
     if len(in_data) > 2:
         win_size = in_data.size if in_data.size < window else window
         results = [0.66, ]
-        median = in_data.rolling(window=win_size, min_periods=2).median()
+        median = trimmed_data.rolling(window=win_size, min_periods=2).median()
         stdev_t = trimmed_data.rolling(window=win_size, min_periods=2).std()
 
         first = True
@@ -247,7 +247,8 @@ def _generate_trending_traces(in_data, build_info, period, moving_win_size=10,
 
     data_pd = pd.Series(data_y, index=data_x)
 
-    t_data, outliers = find_outliers(data_pd, outlier_const=1.5)
+    t_data, outliers = split_outliers(data_pd, outlier_const=1.5,
+                                      window=moving_win_size)
     results = _evaluate_results(data_pd, t_data, window=moving_win_size)
 
     anomalies = pd.Series()
@@ -297,7 +298,7 @@ def _generate_trending_traces(in_data, build_info, period, moving_win_size=10,
         hoverinfo="none",
         showlegend=True,
         legendgroup=name,
-        name="{name}: outliers".format(name=name),
+        name="{name}-anomalies".format(name=name),
         marker={
             "size": 15,
             "symbol": "circle-open",
@@ -436,7 +437,8 @@ def _generate_all_charts(spec, input_data):
             tst_lst = list()
             for build in builds_lst:
                 item = tst_data.get(int(build), '')
-                tst_lst.append(str(item) if item else '')
+                tst_lst.append(str(item))
+                # tst_lst.append(str(item) if item else '')
             csv_table.append("{0},".format(tst_name) + ",".join(tst_lst) + '\n')
 
         for period in chart["periods"]: