X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Ftools%2Fpresentation%2Fgenerator_cpta.py;h=0bef38d82d1f0fc42ba1916348416e7f2be8b36c;hp=0320b9eec13259c2e81e8ed92b2d94f1f53eda89;hb=575b935029aa496629f138d0e5f756921b64d1e6;hpb=e82ebbd96e2ba73276e2f1b6d7f9c2d8a9442c3f 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"