PERCENTILE_MAX = 99.999501
_GRAPH_LAT_HDRH_DESC = {
- u"result_latency_forward_pdr_0_hdrh": u"No-load.",
- u"result_latency_reverse_pdr_0_hdrh": u"No-load.",
- u"result_latency_forward_pdr_10_hdrh": u"Low-load, 10% PDR.",
- u"result_latency_reverse_pdr_10_hdrh": u"Low-load, 10% PDR.",
- u"result_latency_forward_pdr_50_hdrh": u"Mid-load, 50% PDR.",
- u"result_latency_reverse_pdr_50_hdrh": u"Mid-load, 50% PDR.",
- u"result_latency_forward_pdr_90_hdrh": u"High-load, 90% PDR.",
- u"result_latency_reverse_pdr_90_hdrh": u"High-load, 90% PDR."
+ "result_latency_forward_pdr_0_hdrh": "No-load.",
+ "result_latency_reverse_pdr_0_hdrh": "No-load.",
+ "result_latency_forward_pdr_10_hdrh": "Low-load, 10% PDR.",
+ "result_latency_reverse_pdr_10_hdrh": "Low-load, 10% PDR.",
+ "result_latency_forward_pdr_50_hdrh": "Mid-load, 50% PDR.",
+ "result_latency_reverse_pdr_50_hdrh": "Mid-load, 50% PDR.",
+ "result_latency_forward_pdr_90_hdrh": "High-load, 90% PDR.",
+ "result_latency_reverse_pdr_90_hdrh": "High-load, 90% PDR."
}
-REG_EX_VPP_VERSION = re.compile(r"^(\d{2}).(\d{2})-(rc0|rc1|rc2|release$)")
def _get_color(idx: int) -> str:
return version
s_version = str()
- groups = re.search(pattern=REG_EX_VPP_VERSION, string=version)
+ groups = re.search(
+ pattern=re.compile(r"^(\d{2}).(\d{2})-(rc0|rc1|rc2|release$)"),
+ string=version
+ )
if groups:
try:
- s_version = f"{groups.group(1)}.{groups.group(2)}_{groups.group(3)}"
+ s_version = \
+ f"{groups.group(1)}.{groups.group(2)}.{groups.group(3)}".\
+ replace("release", "rls")
except IndexError:
pass
f"^.*[.|-]{nic}.*{itm['framesize']}-{core}-{drv}{itm['test']}-{ttype}$"
df = df[
(df.job.str.endswith(f"{topo}-{arch}")) &
- (df.dut_version.str.contains(itm["dutver"].replace("_", "-"))) &
+ (df.dut_version.str.contains(itm["dutver"].replace(".r", "-r").\
+ replace("rls", "release"))) &
(df.test_id.str.contains(regex_test, regex=True))
]
lat_traces = list()
y_lat_max = 0
x_lat = list()
+ show_latency = False
+ show_tput = False
for idx, itm in enumerate(sel):
itm_data = select_iterative_data(data, itm)
+ if itm_data.empty:
+ continue
if itm["testtype"] == "mrr":
y_data = itm_data[_VALUE[itm["testtype"]]].to_list()[0]
if y_data.size > 0:
name=(
f"{idx + 1}. "
f"({nr_of_samples:02d} "
- f"run{u's' if nr_of_samples > 1 else u''}) "
+ f"run{'s' if nr_of_samples > 1 else ''}) "
f"{itm['id']}"
),
hoverinfo=u"y+name",
marker=dict(color=_get_color(idx))
)
tput_traces.append(go.Box(**tput_kwargs))
+ show_tput = True
- show_latency = False
if itm["testtype"] == "pdr":
y_lat = itm_data[_VALUE["pdr-lat"]].to_list()
if y_lat:
f"run{u's' if nr_of_samples > 1 else u''}) "
f"{itm['id']}"
),
- hoverinfo=u"y+name",
+ hoverinfo="all",
boxpoints="all",
jitter=0.3,
marker=dict(color=_get_color(idx))
else:
lat_traces.append(go.Box())
- pl_tput = deepcopy(layout["plot-throughput"])
- pl_tput[u"xaxis"][u"tickvals"] = [i for i in range(len(sel))]
- pl_tput[u"xaxis"][u"ticktext"] = [str(i + 1) for i in range(len(sel))]
- if y_tput_max:
- pl_tput[u"yaxis"][u"range"] = [0, (int(y_tput_max / 1e6) + 1) * 1e6]
- fig_tput = go.Figure(data=tput_traces, layout=pl_tput)
+ if show_tput:
+ pl_tput = deepcopy(layout["plot-throughput"])
+ pl_tput["xaxis"]["tickvals"] = [i for i in range(len(sel))]
+ pl_tput["xaxis"]["ticktext"] = [str(i + 1) for i in range(len(sel))]
+ if y_tput_max:
+ pl_tput["yaxis"]["range"] = [0, (int(y_tput_max / 1e6) + 1) * 1e6]
+ fig_tput = go.Figure(data=tput_traces, layout=pl_tput)
if show_latency:
pl_lat = deepcopy(layout["plot-latency"])
- pl_lat[u"xaxis"][u"tickvals"] = [i for i in range(len(x_lat))]
- pl_lat[u"xaxis"][u"ticktext"] = x_lat
+ pl_lat["xaxis"]["tickvals"] = [i for i in range(len(x_lat))]
+ pl_lat["xaxis"]["ticktext"] = x_lat
if y_lat_max:
- pl_lat[u"yaxis"][u"range"] = [0, (int(y_lat_max / 10) + 1) * 10]
+ pl_lat["yaxis"]["range"] = [0, (int(y_lat_max / 10) + 1) * 10]
fig_lat = go.Figure(data=lat_traces, layout=pl_lat)
return fig_tput, fig_lat
yaxis.append(item.value_iterated_to)
hovertext.append(
f"<b>{_GRAPH_LAT_HDRH_DESC[lat_name]}</b><br>"
- f"Direction: {(u'W-E', u'E-W')[idx % 2]}<br>"
+ f"Direction: {('W-E', 'E-W')[idx % 2]}<br>"
f"Percentile: {prev_perc:.5f}-{percentile:.5f}%<br>"
f"Latency: {item.value_iterated_to}uSec"
)
yaxis.append(item.value_iterated_to)
hovertext.append(
f"<b>{_GRAPH_LAT_HDRH_DESC[lat_name]}</b><br>"
- f"Direction: {(u'W-E', u'E-W')[idx % 2]}<br>"
+ f"Direction: {('W-E', 'E-W')[idx % 2]}<br>"
f"Percentile: {prev_perc:.5f}-{percentile:.5f}%<br>"
f"Latency: {item.value_iterated_to}uSec"
)
x=xaxis,
y=yaxis,
name=_GRAPH_LAT_HDRH_DESC[lat_name],
- mode=u"lines",
+ mode="lines",
legendgroup=_GRAPH_LAT_HDRH_DESC[lat_name],
showlegend=bool(idx % 2),
line=dict(
color=_get_color(int(idx/2)),
- dash=u"solid",
+ dash="solid",
width=1 if idx % 2 else 2
),
hovertext=hovertext,
- hoverinfo=u"text"
+ hoverinfo="text"
)
)
if traces: