X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=resources%2Ftools%2Fpresentation%2Fgenerator_tables.py;h=bdd6e22cf71d424593d518a0ea95fa8555554411;hb=967cdb11f34dce8fe427e7db7130afcd8464d7b3;hp=5c692fa20845e0c51c426edb0d07e6446ccfb8ce;hpb=bc2886111faedc0d43dcd3fe3cac787dc6e767a9;p=csit.git diff --git a/resources/tools/presentation/generator_tables.py b/resources/tools/presentation/generator_tables.py index 5c692fa208..bdd6e22cf7 100644 --- a/resources/tools/presentation/generator_tables.py +++ b/resources/tools/presentation/generator_tables.py @@ -30,7 +30,7 @@ import pandas as pd from numpy import nan, isnan -from pal_utils import mean, stdev, relative_change, classify_anomalies, \ +from pal_utils import mean, stdev, classify_anomalies, \ convert_csv_to_pretty_txt, relative_change_stdev @@ -264,7 +264,7 @@ def table_oper_data_html(table, input_data): if not html_table: continue try: - file_name = f"{table[u'output-file']}_{suite[u'name']}.rst" + file_name = f"{table[u'output-file']}{suite[u'name']}.rst" with open(f"{file_name}", u'w') as html_file: logging.info(f" Writing file: {file_name}") html_file.write(u".. raw:: html\n\n\t") @@ -345,7 +345,7 @@ def table_merged_details(table, input_data): # Temporary solution: remove NDR results from message: if bool(table.get(u'remove-ndr', False)): try: - col_data = col_data.split(u"\n", 1)[1] + col_data = col_data.split(u" |br| ", 1)[1] except IndexError: pass col_data = f" |prein| {col_data} |preout| " @@ -448,7 +448,6 @@ def _tpc_sort_table(table): :rtype: list """ - tbl_new = list() tbl_see = list() tbl_delta = list() @@ -464,12 +463,14 @@ def _tpc_sort_table(table): # Sort the tables: tbl_new.sort(key=lambda rel: rel[0], reverse=False) tbl_see.sort(key=lambda rel: rel[0], reverse=False) - tbl_see.sort(key=lambda rel: rel[-1], reverse=False) - tbl_delta.sort(key=lambda rel: rel[-1], reverse=True) + tbl_see.sort(key=lambda rel: rel[-2], reverse=False) + tbl_delta.sort(key=lambda rel: rel[0], reverse=False) + tbl_delta.sort(key=lambda rel: rel[-2], reverse=True) # Put the tables together: table = list() - table.extend(tbl_new) + # We do not want "New in CSIT": + # table.extend(tbl_new) table.extend(tbl_see) table.extend(tbl_delta) @@ -549,7 +550,7 @@ def _tpc_generate_html_table(header, data, output_file_name): xanchor=u"left", y=1.045, yanchor=u"top", - active=len(menu_items) - 1, + active=len(menu_items) - 2, buttons=list(buttons) ) ], @@ -611,7 +612,8 @@ def table_perf_comparison(table, input_data): f"{table[u'reference'][u'title']} Stdev [Mpps]", f"{table[u'compare'][u'title']} {hdr_param} [Mpps]", f"{table[u'compare'][u'title']} Stdev [Mpps]", - u"Delta [%]" + u"Delta [%]", + u"Stdev of delta [%]" ] ) header_str = u",".join(header) + u"\n" @@ -788,28 +790,41 @@ def table_perf_comparison(table, input_data): item.extend([u"Not tested", u"Not tested"]) else: item.extend([u"Not tested", u"Not tested"]) - data_t = tbl_dict[tst_name][u"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][u"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([u"Not tested", u"Not tested"]) - data_t = tbl_dict[tst_name][u"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][u"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([u"Not tested", u"Not tested"]) if item[-2] == u"Not tested": pass elif item[-4] == u"Not tested": item.append(u"New in CSIT-2001") + item.append(u"New in CSIT-2001") # elif topo == u"2n-skx" and u"dot1q" in tbl_dict[tst_name][u"name"]: # item.append(u"See footnote [1]") # footnote = True - elif item[-4] != 0: - item.append(int(relative_change(float(item[-4]), float(item[-2])))) - if (len(item) == len(header)) and (item[-3] != u"Not tested"): + elif 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)) + item.append(round(d_stdev)) + if (len(item) == len(header)) and (item[-4] != u"Not tested"): tbl_lst.append(item) tbl_lst = _tpc_sort_table(tbl_lst) @@ -884,7 +899,8 @@ def table_perf_comparison_nic(table, input_data): f"{table[u'reference'][u'title']} Stdev [Mpps]", f"{table[u'compare'][u'title']} {hdr_param} [Mpps]", f"{table[u'compare'][u'title']} Stdev [Mpps]", - u"Delta [%]" + u"Delta [%]", + u"Stdev of delta [%]" ] ) header_str = u",".join(header) + u"\n" @@ -1067,28 +1083,41 @@ def table_perf_comparison_nic(table, input_data): item.extend([u"Not tested", u"Not tested"]) else: item.extend([u"Not tested", u"Not tested"]) - data_t = tbl_dict[tst_name][u"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][u"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([u"Not tested", u"Not tested"]) - data_t = tbl_dict[tst_name][u"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][u"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([u"Not tested", u"Not tested"]) if item[-2] == u"Not tested": pass elif item[-4] == u"Not tested": item.append(u"New in CSIT-2001") + item.append(u"New in CSIT-2001") # elif topo == u"2n-skx" and u"dot1q" in tbl_dict[tst_name][u"name"]: # item.append(u"See footnote [1]") # footnote = True - elif item[-4] != 0: - item.append(int(relative_change(float(item[-4]), float(item[-2])))) - if (len(item) == len(header)) and (item[-3] != u"Not tested"): + elif 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)) + item.append(round(d_stdev)) + if (len(item) == len(header)) and (item[-4] != u"Not tested"): tbl_lst.append(item) tbl_lst = _tpc_sort_table(tbl_lst) @@ -1155,7 +1184,8 @@ def table_nics_comparison(table, input_data): f"{table[u'reference'][u'title']} Stdev [Mpps]", f"{table[u'compare'][u'title']} {hdr_param} [Mpps]", f"{table[u'compare'][u'title']} Stdev [Mpps]", - u"Delta [%]" + u"Delta [%]", + u"Stdev of delta [%]" ] ) @@ -1177,7 +1207,6 @@ def table_nics_comparison(table, input_data): u"cmp-data": list() } try: - result = None if table[u"include-tests"] == u"MRR": result = tst_data[u"result"][u"receive-rate"] elif table[u"include-tests"] == u"PDR": @@ -1200,21 +1229,32 @@ def table_nics_comparison(table, input_data): tbl_lst = list() for tst_name in tbl_dict: item = [tbl_dict[tst_name][u"name"], ] - data_t = tbl_dict[tst_name][u"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][u"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][u"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][u"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)) + item.append(round(d_stdev)) tbl_lst.append(item) # Sort the table according to the relative change @@ -1260,7 +1300,8 @@ def table_soak_vs_ndr(table, input_data): f"{table[u'reference'][u'title']} Stdev [Mpps]", f"{table[u'compare'][u'title']} Thput [Mpps]", f"{table[u'compare'][u'title']} Stdev [Mpps]", - u"Delta [%]", u"Stdev of delta [%]" + u"Delta [%]", + u"Stdev of delta [%]" ] header_str = u",".join(header) + u"\n" except (AttributeError, KeyError) as err: @@ -1346,8 +1387,8 @@ def table_soak_vs_ndr(table, input_data): 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)) + item.append(round(delta)) + item.append(round(d_stdev)) tbl_lst.append(item) # Sort the table according to the relative change