aboutsummaryrefslogtreecommitdiffstats
path: root/resources
diff options
context:
space:
mode:
authorVratko Polak <vrpolak@cisco.com>2018-06-13 10:23:06 +0200
committerVratko Polak <vrpolak@cisco.com>2018-06-13 10:25:44 +0200
commit0e8d8a59fd6b8477b17a9222a5cfb0d94d24ff22 (patch)
tree4c0ed6254fc1f4db4d0d1a39d8fe949c9670cfdf /resources
parent6928c2b1620e5d020a19e944f416df6a1f4b85ad (diff)
CSIT-1110: Fix dashboard anomaly count range
+ Dashboard tables should now report anomalies from last week only. + Changed handling of Nan to report regression. Change-Id: I624b0bc84a93702a31fc79fd670bd645b963f1f7 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
Diffstat (limited to 'resources')
-rw-r--r--resources/tools/presentation/new/generator_tables.py5
-rw-r--r--resources/tools/presentation/new/utils.py12
2 files changed, 10 insertions, 7 deletions
diff --git a/resources/tools/presentation/new/generator_tables.py b/resources/tools/presentation/new/generator_tables.py
index 6951021bb9..735fd2185f 100644
--- a/resources/tools/presentation/new/generator_tables.py
+++ b/resources/tools/presentation/new/generator_tables.py
@@ -788,8 +788,8 @@ def table_performance_trending_dashboard(table, input_data):
round(last_avg / 1000000, 2),
'-' if isnan(rel_change_last) else rel_change_last,
'-' if isnan(rel_change_long) else rel_change_long,
- classification_lst[-long_win_size:].count("regression"),
- classification_lst[-long_win_size:].count("progression")])
+ classification_lst[-win_size:].count("regression"),
+ classification_lst[-win_size:].count("progression")])
tbl_lst.sort(key=lambda rel: rel[0])
@@ -823,6 +823,7 @@ def table_performance_trending_dashboard(table, input_data):
with open(txt_file_name, "w") as txt_file:
txt_file.write(str(txt_table))
+
def table_performance_trending_dashboard_html(table, input_data):
"""Generate the table(s) with algorithm:
table_performance_trending_dashboard_html specified in the specification
diff --git a/resources/tools/presentation/new/utils.py b/resources/tools/presentation/new/utils.py
index 83f4f6249b..a688928cda 100644
--- a/resources/tools/presentation/new/utils.py
+++ b/resources/tools/presentation/new/utils.py
@@ -211,17 +211,19 @@ def archive_input_data(spec):
def classify_anomalies(data):
"""Process the data and return anomalies and trending values.
- Gathers data into groups with common trend value.
- Decorates first value in the group to be an outlier, regression,
- normal or progression.
+ Gather data into groups with average as trend value.
+ Decorate values within groups to be normal,
+ the first value of changed average as a regression, or a progression.
:param data: Full data set with unavailable samples replaced by nan.
:type data: pandas.Series
:returns: Classification and trend values
:rtype: 2-tuple, list of strings and list of floats
"""
- bare_data = [sample for _, sample in data.iteritems()
- if not np.isnan(sample)]
+ # Nan mean something went wrong.
+ # Use 0.0 to cause that being reported as a severe regression.
+ bare_data = [0.0 if np.isnan(sample) else sample
+ for _, sample in data.iteritems()]
# TODO: Put analogous iterator into jumpavg library.
groups = BitCountingClassifier.classify(bare_data)
groups.reverse() # Just to use .pop() for FIFO.