X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Ftools%2Fpresentation%2Fgenerator_tables.py;h=120d39b5974cd16ca6e44e5238968d528cb4d837;hp=46aa71ca48fe8696e84b066038c809d8a66160db;hb=2f1c9130ecdc1dfc99f4a8b7e4c62d89f3e8cf71;hpb=5d040b65766fa5d7d6ad111def619abb8c878b87 diff --git a/resources/tools/presentation/generator_tables.py b/resources/tools/presentation/generator_tables.py index 46aa71ca48..120d39b597 100644 --- a/resources/tools/presentation/generator_tables.py +++ b/resources/tools/presentation/generator_tables.py @@ -730,13 +730,13 @@ def table_performance_trending_dashboard(table, input_data): data = input_data.filter_data(table, continue_on_error=True) # Prepare the header of the tables - header = ["Test Case", + header = [" Test Case", "Trend [Mpps]", - "Short-Term Change [%]", - "Long-Term Change [%]", - "Regressions [#]", - "Progressions [#]", - "Outliers [#]" + " Short-Term Change [%]", + " Long-Term Change [%]", + " Regressions [#]", + " Progressions [#]", + " Outliers [#]" ] header_str = ",".join(header) + "\n" @@ -745,6 +745,8 @@ 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 in table["ignore-list"]: + continue if tbl_dict.get(tst_name, None) is None: name = "{0}-{1}".format(tst_data["parent"].split("-")[0], "-".join(tst_data["name"]. @@ -775,8 +777,9 @@ def table_performance_trending_dashboard(table, input_data): stdev_t = data_t.rolling(window=win_size, min_periods=2).std() median_first_idx = pd_data.size - long_win_size try: - max_median = max([x for x in median_t.values[median_first_idx:] - if not isnan(x)]) + max_median = max( + [x for x in median_t.values[median_first_idx:-win_size] + if not isnan(x)]) except ValueError: max_median = nan try: @@ -791,14 +794,6 @@ def table_performance_trending_dashboard(table, input_data): # Test name: name = tbl_dict[tst_name]["name"] - logging.info("{}".format(name)) - logging.info("pd_data : {}".format(pd_data)) - logging.info("data_t : {}".format(data_t)) - logging.info("median_t : {}".format(median_t)) - logging.info("last_median_t : {}".format(last_median_t)) - logging.info("median_t_14 : {}".format(median_t_14)) - logging.info("max_median : {}".format(max_median)) - # Classification list: classification_lst = list() for build_nr, value in pd_data.iteritems(): @@ -808,9 +803,9 @@ def table_performance_trending_dashboard(table, input_data): or isnan(stdev_t[build_nr]) \ or isnan(value): classification_lst.append("outlier") - elif value < (median_t[build_nr] - 2 * stdev_t[build_nr]): + elif value < (median_t[build_nr] - 3 * stdev_t[build_nr]): classification_lst.append("regression") - elif value > (median_t[build_nr] + 2 * stdev_t[build_nr]): + elif value > (median_t[build_nr] + 3 * stdev_t[build_nr]): classification_lst.append("progression") else: classification_lst.append("normal") @@ -912,8 +907,20 @@ def table_performance_trending_dashboard_html(table, input_data): th.text = item # Rows: + colors = {"regression": ("#ffcccc", "#ff9999"), + "progression": ("#c6ecc6", "#9fdf9f"), + "outlier": ("#e6e6e6", "#cccccc"), + "normal": ("#e9f1fb", "#d4e4f7")} for r_idx, row in enumerate(csv_lst[1:]): - background = "#D4E4F7" if r_idx % 2 else "white" + if int(row[4]): + color = "regression" + elif int(row[5]): + color = "progression" + elif int(row[6]): + color = "outlier" + else: + color = "normal" + background = colors[color][r_idx % 2] tr = ET.SubElement(dashboard, "tr", attrib=dict(bgcolor=background)) # Columns: