- y_tmp_vals[test["parent"]][0].append(
- test["latency"]["direction1"]["50"]["min"])
- y_tmp_vals[test["parent"]][1].append(
- test["latency"]["direction1"]["50"]["avg"])
- y_tmp_vals[test["parent"]][2].append(
- test["latency"]["direction1"]["50"]["max"])
- y_tmp_vals[test["parent"]][3].append(
- test["latency"]["direction2"]["50"]["min"])
- y_tmp_vals[test["parent"]][4].append(
- test["latency"]["direction2"]["50"]["avg"])
- y_tmp_vals[test["parent"]][5].append(
- test["latency"]["direction2"]["50"]["max"])
- except (KeyError, TypeError):
- pass
-
- y_vals = dict()
- for key, values in y_tmp_vals.items():
- y_vals[key] = list()
- for val in values:
- if val:
- average = mean(val)
- else:
- average = None
- y_vals[key].append(average)
- y_vals[key].append(average) # Twice for plot.ly
-
- # Add plot traces
+ if test["type"] in ("NDRPDR", ):
+ if "-pdr" in plot_title.lower():
+ ttype = "PDR"
+ elif "-ndr" in plot_title.lower():
+ ttype = "NDR"
+ else:
+ logging.warning("Invalid test type: {0}".
+ format(test["type"]))
+ continue
+ y_tmp_vals[test["parent"]][0].append(
+ test["latency"][ttype]["direction1"]["min"])
+ y_tmp_vals[test["parent"]][1].append(
+ test["latency"][ttype]["direction1"]["avg"])
+ y_tmp_vals[test["parent"]][2].append(
+ test["latency"][ttype]["direction1"]["max"])
+ y_tmp_vals[test["parent"]][3].append(
+ test["latency"][ttype]["direction2"]["min"])
+ y_tmp_vals[test["parent"]][4].append(
+ test["latency"][ttype]["direction2"]["avg"])
+ y_tmp_vals[test["parent"]][5].append(
+ test["latency"][ttype]["direction2"]["max"])
+ else:
+ logging.warning("Invalid test type: {0}".
+ format(test["type"]))
+ continue
+ except (KeyError, TypeError) as err:
+ logging.warning(repr(err))
+ logging.debug("y_tmp_vals: {0}\n".format(y_tmp_vals))
+
+ # Sort the tests
+ order = plot.get("sort", None)
+ if order and y_tags:
+ y_sorted = OrderedDict()
+ y_tags_l = {s: [t.lower() for t in ts] for s, ts in y_tags.items()}
+ for tag in order:
+ logging.debug(tag)
+ for suite, tags in y_tags_l.items():
+ if "not " in tag:
+ tag = tag.split(" ")[-1]
+ if tag.lower() in tags:
+ continue
+ else:
+ if tag.lower() not in tags:
+ continue
+ try:
+ y_sorted[suite] = y_tmp_vals.pop(suite)
+ y_tags_l.pop(suite)
+ logging.debug(suite)
+ except KeyError as err:
+ logging.error("Not found: {0}".format(repr(err)))
+ finally:
+ break
+ else:
+ y_sorted = y_tmp_vals
+
+ logging.debug("y_sorted: {0}\n".format(y_sorted))
+ x_vals = list()
+ y_vals = list()
+ y_mins = list()
+ y_maxs = list()
+ nr_of_samples = list()
+ for key, val in y_sorted.items():
+ name = "-".join(key.split("-")[1:-1])
+ if len(name) > 50:
+ name_lst = name.split('-')
+ name = ""
+ split_name = True
+ for segment in name_lst:
+ if (len(name) + len(segment) + 1) > 50 and split_name:
+ name += "<br>"
+ split_name = False
+ name += segment + '-'
+ name = name[:-1]
+ x_vals.append(name) # dir 1
+ y_vals.append(mean(val[1]) if val[1] else None)
+ y_mins.append(mean(val[0]) if val[0] else None)
+ y_maxs.append(mean(val[2]) if val[2] else None)
+ nr_of_samples.append(len(val[1]) if val[1] else 0)
+ x_vals.append(name) # dir 2
+ y_vals.append(mean(val[4]) if val[4] else None)
+ y_mins.append(mean(val[3]) if val[3] else None)
+ y_maxs.append(mean(val[5]) if val[5] else None)
+ nr_of_samples.append(len(val[3]) if val[3] else 0)
+
+ logging.debug("x_vals :{0}\n".format(x_vals))
+ logging.debug("y_vals :{0}\n".format(y_vals))
+ logging.debug("y_mins :{0}\n".format(y_mins))
+ logging.debug("y_maxs :{0}\n".format(y_maxs))
+ logging.debug("nr_of_samples :{0}\n".format(nr_of_samples))