aboutsummaryrefslogtreecommitdiffstats
path: root/resources/tools/presentation/generator_cpta.py
diff options
context:
space:
mode:
Diffstat (limited to 'resources/tools/presentation/generator_cpta.py')
-rw-r--r--resources/tools/presentation/generator_cpta.py44
1 files changed, 41 insertions, 3 deletions
diff --git a/resources/tools/presentation/generator_cpta.py b/resources/tools/presentation/generator_cpta.py
index 0320b9eec1..0bef38d82d 100644
--- a/resources/tools/presentation/generator_cpta.py
+++ b/resources/tools/presentation/generator_cpta.py
@@ -13,7 +13,6 @@
"""Generation of Continuous Performance Trending and Analysis.
"""
-
import re
import logging
import csv
@@ -21,6 +20,7 @@ import csv
from collections import OrderedDict
from datetime import datetime
from copy import deepcopy
+from os import listdir
import prettytable
import plotly.offline as ploff
@@ -838,22 +838,60 @@ def _generate_all_charts(spec, input_data):
# Evaluate result:
if anomaly_classifications:
+ legend_str = (f"Legend:\n[ Last trend in Mpps/Mcps | number of runs for"
+ f" last trend | ")
result = u"PASS"
for job_name, job_data in anomaly_classifications.items():
+ data = []
+ tb = u"-".join(job_name.split(u"-")[-2:])
+ for file in listdir(f"{spec.cpta[u'output-file']}"):
+ if tb in file and u"performance-trending-dashboard" in \
+ file and u"txt" in file:
+ file_to_read = f"{spec.cpta[u'output-file']}/{file}"
+ with open(f"{file_to_read}", u"rt") as input:
+ data = data + input.readlines()
file_name = \
f"{spec.cpta[u'output-file']}/regressions-{job_name}.txt"
with open(file_name, u'w') as txt_file:
for test_name, classification in job_data.items():
if classification == u"regression":
- txt_file.write(test_name + u'\n')
+ tst = test_name.split(" ")[1].split(".")[1:]
+ nic = tst[0].split("-")[0]
+ tst_name = f"{nic}-{tst[1]}"
+
+ for line in data:
+ if tst_name in line:
+ line = line.replace(" ", "")
+ trend = line.split("|")[2]
+ number = line.split("|")[3]
+ ltc = line.split("|")[4]
+ txt_file.write(f"{tst_name} [ {trend}M | "
+ f"#{number} | {ltc}% ]\n")
+
if classification in (u"regression", u"outlier"):
result = u"FAIL"
+
+ txt_file.write(f"{legend_str}regression in percentage ]")
+
file_name = \
f"{spec.cpta[u'output-file']}/progressions-{job_name}.txt"
with open(file_name, u'w') as txt_file:
for test_name, classification in job_data.items():
if classification == u"progression":
- txt_file.write(test_name + u'\n')
+ tst = test_name.split(" ")[1].split(".")[1:]
+ nic = tst[0].split("-")[0]
+ tst_name = f"{nic}-{tst[1]}"
+
+ for line in data:
+ if tst_name in line:
+ line = line.replace(" ", "")
+ trend = line.split("|")[2]
+ number = line.split("|")[3]
+ ltc = line.split("|")[4]
+ txt_file.write(f"{tst_name} [ {trend}M | "
+ f"#{number} | {ltc}% ]\n")
+
+ txt_file.write(f"{legend_str}progression in percentage ]")
else:
result = u"FAIL"