X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Ftools%2Fpresentation%2Fgenerator_tables.py;h=b37b1fe91a6d9d50885df6a52f7d566c6f38a1be;hb=72880c9ec708eaa45eacbdce9ef57f2464755029;hp=1a15605618d74bcd24c82d40d377479e441cacd2;hpb=db2fcb13bab0085abaaa704e87e345d43734ac86;p=csit.git diff --git a/resources/tools/presentation/generator_tables.py b/resources/tools/presentation/generator_tables.py index 1a15605618..b37b1fe91a 100644 --- a/resources/tools/presentation/generator_tables.py +++ b/resources/tools/presentation/generator_tables.py @@ -27,7 +27,7 @@ from datetime import datetime as dt from datetime import timedelta from utils import mean, stdev, relative_change, classify_anomalies, \ - convert_csv_to_pretty_txt + convert_csv_to_pretty_txt, relative_change_stdev REGEX_NIC = re.compile(r'\d*ge\dp\d\D*\d*') @@ -551,7 +551,7 @@ def table_soak_vs_ndr(table, input_data): "{0} Stdev [Mpps]".format(table["reference"]["title"]), "{0} Throughput [Mpps]".format(table["compare"]["title"]), "{0} Stdev [Mpps]".format(table["compare"]["title"]), - "Delta [%]"] + "Delta [%]", "Stdev of delta [%]"] header_str = ",".join(header) + "\n" except (AttributeError, KeyError) as err: logging.error("The model is invalid, missing parameter: {0}". @@ -566,8 +566,12 @@ def table_soak_vs_ndr(table, input_data): if tst_data["type"] == "SOAK": tst_name_mod = tst_name.replace("-soak", "") if tbl_dict.get(tst_name_mod, None) is None: + groups = re.search(REGEX_NIC, tst_data["parent"]) + nic = groups.group(0) if groups else "" + name = "{0}-{1}".format(nic, "-".join(tst_data["name"]. + split("-")[:-1])) tbl_dict[tst_name_mod] = { - "name": tst_name_mod, + "name": name, "ref-data": list(), "cmp-data": list() } @@ -604,21 +608,31 @@ def table_soak_vs_ndr(table, input_data): tbl_lst = list() for tst_name in tbl_dict.keys(): item = [tbl_dict[tst_name]["name"], ] - data_t = tbl_dict[tst_name]["ref-data"] - if data_t: - item.append(round(mean(data_t) / 1000000, 2)) - item.append(round(stdev(data_t) / 1000000, 2)) + data_r = tbl_dict[tst_name]["ref-data"] + if data_r: + data_r_mean = mean(data_r) + item.append(round(data_r_mean / 1000000, 2)) + data_r_stdev = stdev(data_r) + item.append(round(data_r_stdev / 1000000, 2)) else: + data_r_mean = None + data_r_stdev = None item.extend([None, None]) - data_t = tbl_dict[tst_name]["cmp-data"] - if data_t: - item.append(round(mean(data_t) / 1000000, 2)) - item.append(round(stdev(data_t) / 1000000, 2)) + data_c = tbl_dict[tst_name]["cmp-data"] + if data_c: + data_c_mean = mean(data_c) + item.append(round(data_c_mean / 1000000, 2)) + data_c_stdev = stdev(data_c) + item.append(round(data_c_stdev / 1000000, 2)) else: + data_c_mean = None + data_c_stdev = None item.extend([None, None]) - if item[-4] is not None and item[-2] is not None and item[-4] != 0: - item.append(int(relative_change(float(item[-4]), float(item[-2])))) - if len(item) == len(header): + if data_r_mean and data_c_mean: + delta, d_stdev = relative_change_stdev( + data_r_mean, data_c_mean, data_r_stdev, data_c_stdev) + item.append(round(delta, 2)) + item.append(round(d_stdev, 2)) tbl_lst.append(item) # Sort the table according to the relative change @@ -668,7 +682,7 @@ def table_performance_trending_dashboard(table, input_data): for job, builds in table["data"].items(): for build in builds: for tst_name, tst_data in data[job][str(build)].iteritems(): - if tst_name.lower() in table["ignore-list"]: + if tst_name.lower() in table.get("ignore-list", list()): continue if tbl_dict.get(tst_name, None) is None: groups = re.search(REGEX_NIC, tst_data["parent"]) @@ -804,9 +818,21 @@ def _generate_url(base, testbed, test_name): file_name = "vm_vhost_ip4" feature = "-base" + elif "ipsecbasetnlsw" in test_name: + file_name = "ipsecsw" + feature = "-base-scale" + elif "ipsec" in test_name: file_name = "ipsec" feature = "-base-scale" + if "hw-" in test_name: + file_name = "ipsechw" + elif "sw-" in test_name: + file_name = "ipsecsw" + if "-int-" in test_name: + feature = "-base-scale-int" + elif "tnl" in test_name: + feature = "-base-scale-tnl" elif "ethip4lispip" in test_name or "ethip4vxlan" in test_name: file_name = "ip4_tunnels" @@ -854,6 +880,8 @@ def _generate_url(base, testbed, test_name): nic = "vic1227-" elif "vic1385" in test_name: nic = "vic1385-" + elif "x553" in test_name: + nic = "x553-" else: nic = "" anchor += nic @@ -887,8 +915,8 @@ def _generate_url(base, testbed, test_name): elif "8t4c" in test_name: anchor += "8t4c" - return url + file_name + '-' + testbed + '-' + nic + framesize + feature + \ - anchor + feature + return url + file_name + '-' + testbed + '-' + nic + framesize + \ + feature.replace("-int", "").replace("-tnl", "") + anchor + feature def table_performance_trending_dashboard_html(table, input_data): @@ -1056,7 +1084,7 @@ def table_failed_tests(table, input_data): for build in builds: build = str(build) for tst_name, tst_data in data[job][build].iteritems(): - if tst_name.lower() in table["ignore-list"]: + if tst_name.lower() in table.get("ignore-list", list()): continue if tbl_dict.get(tst_name, None) is None: groups = re.search(REGEX_NIC, tst_data["parent"])