aboutsummaryrefslogtreecommitdiffstats
path: root/csit.infra.dash/app/cdash/trending
diff options
context:
space:
mode:
authorTibor Frank <tifrank@cisco.com>2024-04-23 12:04:13 +0000
committerTibor Frank <tifrank@cisco.com>2024-04-25 10:02:19 +0000
commite6aa272b6aa501c2fec5790ca9d93bb7ffe4d638 (patch)
tree9f5bedfb0c2047121179c7c766702b9702d55455 /csit.infra.dash/app/cdash/trending
parentd29977e35bb15cd7df21c082432f03eab87e2e66 (diff)
C-Dash: Add soak tests
Change-Id: Ibe17b7dc2125fa6ace496897a7cf9115a5f2c736 Signed-off-by: Tibor Frank <tifrank@cisco.com>
Diffstat (limited to 'csit.infra.dash/app/cdash/trending')
-rw-r--r--csit.infra.dash/app/cdash/trending/graphs.py36
-rw-r--r--csit.infra.dash/app/cdash/trending/layout.py8
2 files changed, 34 insertions, 10 deletions
diff --git a/csit.infra.dash/app/cdash/trending/graphs.py b/csit.infra.dash/app/cdash/trending/graphs.py
index ede3a06fd4..1a507dfeea 100644
--- a/csit.infra.dash/app/cdash/trending/graphs.py
+++ b/csit.infra.dash/app/cdash/trending/graphs.py
@@ -50,6 +50,8 @@ def select_trending_data(data: pd.DataFrame, itm: dict) -> pd.DataFrame:
test_type = "ndrpdr"
elif itm["testtype"] == "mrr":
test_type = "mrr"
+ elif itm["testtype"] == "soak":
+ test_type = "soak"
elif itm["area"] == "hoststack":
test_type = "hoststack"
df = data.loc[(
@@ -194,6 +196,24 @@ def graph_trending(
f"bandwidth [{row['result_bandwidth_unit']}]: "
f"{row['result_bandwidth_value'] * nf:,.0f}<br>"
)
+ elif ttype in ("soak", "soak-bandwidth"):
+ h_tput = (
+ f"tput [{row['result_critical_rate_lower_rate_unit']}]: "
+ f"{row['result_critical_rate_lower_rate_value'] * nf:,.0f}"
+ "<br>"
+ )
+ if pd.notna(row["result_critical_rate_lower_bandwidth_value"]):
+ bv = row['result_critical_rate_lower_bandwidth_value']
+ h_band = (
+ "bandwidth "
+ f"[{row['result_critical_rate_lower_bandwidth_unit']}]:"
+ f" {bv * nf:,.0f}"
+ "<br>"
+ )
+ try:
+ hosts = f"<br>hosts: {', '.join(row['hosts'])}"
+ except (KeyError, TypeError):
+ hosts = str()
hover_itm = (
f"dut: {name_lst[0]}<br>"
f"infra: {'-'.join(name_lst[1:5])}<br>"
@@ -201,8 +221,8 @@ def graph_trending(
f"date: {row['start_time'].strftime('%Y-%m-%d %H:%M:%S')}<br>"
f"{h_tput}{h_band}{h_lat}"
f"{row['dut_type']}-ref: {row['dut_version']}<br>"
- f"csit-ref: {row['job']}/{row['build']}<br>"
- f"hosts: {', '.join(row['hosts'])}"
+ f"csit-ref: {row['job']}/{row['build']}"
+ f"{hosts}"
)
hover.append(hover_itm)
if ttype == "latency":
@@ -231,6 +251,10 @@ def graph_trending(
hover_trend = list()
for avg, stdev, (_, row) in zip(trend_avg, trend_stdev, df.iterrows()):
+ try:
+ hosts = f"<br>hosts: {', '.join(row['hosts'])}"
+ except (KeyError, TypeError):
+ hosts = str()
hover_itm = (
f"dut: {name_lst[0]}<br>"
f"infra: {'-'.join(name_lst[1:5])}<br>"
@@ -239,8 +263,8 @@ def graph_trending(
f"trend [{row[C.UNIT[ttype]]}]: {avg:,.0f}<br>"
f"stdev [{row[C.UNIT[ttype]]}]: {stdev:,.0f}<br>"
f"{row['dut_type']}-ref: {row['dut_version']}<br>"
- f"csit-ref: {row['job']}/{row['build']}<br>"
- f"hosts: {', '.join(row['hosts'])}"
+ f"csit-ref: {row['job']}/{row['build']}"
+ f"{hosts}"
)
if ttype == "latency":
hover_itm = hover_itm.replace("[pps]", "[us]")
@@ -379,7 +403,7 @@ def graph_trending(
fig_tput = go.Figure()
fig_tput.add_traces(traces)
- if ttype in ("ndr", "pdr", "mrr", "hoststack-cps", "hoststack-rps"):
+ if ttype in C.TESTS_WITH_BANDWIDTH:
traces, _ = _generate_trending_traces(
f"{ttype}-bandwidth",
itm["id"],
@@ -392,7 +416,7 @@ def graph_trending(
fig_band = go.Figure()
fig_band.add_traces(traces)
- if ttype in ("pdr", "hoststack-cps", "hoststack-rps"):
+ if ttype in C.TESTS_WITH_LATENCY:
traces, _ = _generate_trending_traces(
"latency" if ttype == "pdr" else "hoststack-latency",
itm["id"],
diff --git a/csit.infra.dash/app/cdash/trending/layout.py b/csit.infra.dash/app/cdash/trending/layout.py
index f6f96d713e..da90ae26f9 100644
--- a/csit.infra.dash/app/cdash/trending/layout.py
+++ b/csit.infra.dash/app/cdash/trending/layout.py
@@ -158,10 +158,7 @@ class Layout:
tst_params["core"].append(core.upper())
if framesize.upper() not in tst_params["frame-size"]:
tst_params["frame-size"].append(framesize.upper())
- if row["test_type"] == "mrr":
- if "MRR" not in tst_params["test-type"]:
- tst_params["test-type"].append("MRR")
- elif row["test_type"] == "ndrpdr":
+ if row["test_type"] == "ndrpdr":
if "NDR" not in tst_params["test-type"]:
tst_params["test-type"].extend(("NDR", "PDR"))
elif row["test_type"] == "hoststack":
@@ -171,6 +168,9 @@ class Layout:
elif row["tg_type"] == "ab":
if "CPS" not in tst_params["test-type"]:
tst_params["test-type"].extend(("CPS", "RPS"))
+ else: # MRR, SOAK
+ if row["test_type"].upper() not in tst_params["test-type"]:
+ tst_params["test-type"].append(row["test_type"].upper())
self._spec_tbs = tbs
# Read from files: