From e6aa272b6aa501c2fec5790ca9d93bb7ffe4d638 Mon Sep 17 00:00:00 2001 From: Tibor Frank Date: Tue, 23 Apr 2024 12:04:13 +0000 Subject: [PATCH] C-Dash: Add soak tests Change-Id: Ibe17b7dc2125fa6ace496897a7cf9115a5f2c736 Signed-off-by: Tibor Frank --- csit.infra.dash/app/cdash/comparisons/layout.py | 3 ++ .../data/_metadata/iterative_rls2402_hoststack | Bin 7882 -> 8303 bytes .../app/cdash/data/_metadata/trending_soak | Bin 0 -> 9328 bytes csit.infra.dash/app/cdash/data/data.yaml | 24 ++++++++++++++ csit.infra.dash/app/cdash/news/layout.py | 18 +++++------ csit.infra.dash/app/cdash/report/graphs.py | 14 +++++--- csit.infra.dash/app/cdash/report/layout.py | 8 ++--- csit.infra.dash/app/cdash/stats/layout.py | 2 +- csit.infra.dash/app/cdash/trending/graphs.py | 36 +++++++++++++++++---- csit.infra.dash/app/cdash/trending/layout.py | 8 ++--- csit.infra.dash/app/cdash/utils/constants.py | 31 ++++++++++++++++-- csit.infra.dash/app/cdash/utils/utils.py | 4 +-- 12 files changed, 115 insertions(+), 33 deletions(-) create mode 100644 csit.infra.dash/app/cdash/data/_metadata/trending_soak diff --git a/csit.infra.dash/app/cdash/comparisons/layout.py b/csit.infra.dash/app/cdash/comparisons/layout.py index 3aa32399cf..57a1c2a1b4 100644 --- a/csit.infra.dash/app/cdash/comparisons/layout.py +++ b/csit.infra.dash/app/cdash/comparisons/layout.py @@ -171,6 +171,9 @@ class Layout: elif row["test_type"] == "hoststack" and row["tg_type"] == "ab": if "CPS" not in tbs[dut][dver][infra]["ttype"]: tbs[dut][dver][infra]["ttype"].extend(("CPS", "RPS", )) + elif row["test_type"] == "soak": + if "SOAK" not in tbs[dut][dver][infra]["ttype"]: + tbs[dut][dver][infra]["ttype"].append("SOAK") self._tbs = tbs # Read from files: diff --git a/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2402_hoststack b/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2402_hoststack index 993d16c18c08cd1f17ee395611aa6d577d6b1f6c..1e9c708253c5b655b043fa7935a3620cb5099c16 100644 GIT binary patch delta 1540 zcmbVM-ESgQ6sMGS77J~mjD>!zP2Hx(?si~+b}`-PWv0+!+X}RuVQ{TshHqv7rG>&v zjSt30H|If(iCO;uADTYtgYiwHSrg-{iT{DSiBBdbdhXy_AKaI{nYp>=ch5QZ_dECF z`#X~c6NMs%Vx7h9e#&V>zuH5 z8|zxJ`yI8Dl6i4_d&K^g@ABi3Z|n<}|MJbH<#MfL6yItV%+m5JOUo7vpO4SDY4{tb z&6?gSmfnOd`zkyf^<3s0vkbG!Sq-`qq9fiDD)9Bh^5g+&5kfNflMSJA`P;-7qfAQ+ z?+5ihOnPP+v)a|e*#SIu2fXH48^>BviMCZf*2v32_`wx{zr3@~Y%>?mM)l+oygu!R zPp2l~OV$T&?=f(mNe2cL;U~8rRy_VOY6x)bHlZ>-3-5SW;g9J#(A_?#sU>68qNoPp zUG%-@nS!4uSK#rq(-lrti%GdmR~{z1@XW&p({IBk-WhmlW(I!sOf$TyoQ3iSm^$$P zsa(jusyDOcV$wJPmuC*1pYg(uhm9r^!F(>;)|8{#u0U#9Q$EpmjB;_u=;aTj4M|8f z)Lhn}arr|vsPNH2?f`zAeEFK5Obm2hZor4EpZUjtNA9^*Gu74j-qX_6G(OhJD~VHR zPu*g2`@tM<&>Sy}w)0kToP0i)8Wfb+DWU;bnL2xpdR-OSg^aI&b6?=5%A*RU*wsy= zt}0Jmx~(-c5qRMC-7WP~r$r@H{!gHx_ff96-9gEiC~N4Z+>q+6O5RL#P-m=s(5uim zRS6jsmzsv5<|Ml9V^I{;rzZs-vhRL>|MQ>;(vW1dbyN%hrSDms)CkK(wmg>`G|il*Gxd84b<=qZrS_G*#dZhiZ_ zM(ZFo<5kVXBNdAMyIWS0x^%iHLX zN6WY88RQX%-E?{-B%aF5zN*(T&}4?~v`!#gWeAdQhkpsSEW+6^yr1B}3WJl>;M z9us1txra?mBS@pjwnZkJ9&j9ANANbq5(zpb;(|yXehFNk6(Uz@tOz{*=)9~=`g_jt!t;$Yi$sN@8<8=;{#w8q!Af13$HSAdXwWKb@*sO z9UY`M;rE3&voEfpv~Ad0To=U%*X6j~Cl$!_jwpv6+6@awH-=ahAap7|d!=6Nr=-Xj=gH^q=^%|WXPmx z!eS&q>=+(r$A%>viiEmjfo8)&1x6n*7Y_pWM=u_a%>{#NENw$fhNLm+ zrl{djXf@118vr!YB}LROJ`SBLXMfoZ{iUwMdDMQ*|pMgD&N8{qc^YhmglBa2eUIg?#5ml9~hOQi$eSr{DNU{o0)wM&)IC8a)gF8MIO{-K2_B@ z48#_uy<)SblzsSOc%Cs8Ib~Lg9ZN5z^YWdZ&86@>dVNx8+M9XT6!B;_`3!s-o*#Ft zG~dM^6Uk}A<4-N6+_W6*L|&aHtV1Hyd2*)c+MC7Ws*Wk<1ovNv&@@b$u6>g4Sm`a2 z0Wb9AM5LC?6@QPe;77?1Rx_q94^*e$P(8C_>SygrI@2Uy=)CEGQ`gH)8~>PD zh_q-f%rrl!>iMQ6Vj(g&;kmt<)W8pC=F|*lmHEHzDG$}wTaDZSrR4{vQXZJPMkoc( z(9ecuh2yiLu%mi^Nm)AIt0@h7tHC=~I+Lo3BnAJWYyE#+aw(bTg-?BWn!IsX5G*q%J79}q0=_v<8+w#RS!bSKa9?`JZ1sP=N=)|q;e>e9W2 zo@pDE{Bg}I5A3viYEe#69b{Y3%MJEBX0vyu8FFG*rtA&kqaf_BF;UkSu zKWznKBys?^2tSc23|W>NqO+Ze+=QHNxIF4FDHJryN>`v!qhzy$@$ILq zTB$@`euVVXeI9=%1AP$$|3AI7G(ZL#rAGB=@BnL<)1}`Z#r8i1q0b)U4~y>x-NGiz z-fW?c^VepTiTeC+UzmQDuo^VZfSi|D(tXqO1h4Zmv%?@B;=RXz-@eQ`Ssv! z>fwj@aM`$`7Fb+c5rX0&q2UcYS=qP!^|(0B4rYTK4E diff --git a/csit.infra.dash/app/cdash/data/_metadata/trending_soak b/csit.infra.dash/app/cdash/data/_metadata/trending_soak new file mode 100644 index 0000000000000000000000000000000000000000..4502ca4f59990fde715490d90b8bb0d2877ae631 GIT binary patch literal 9328 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 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[( @@ -190,6 +192,10 @@ def graph_iterative(data: pd.DataFrame, sel: list, layout: dict, trial_run = "run" for _, row in itm_data.iterrows(): metadata["csit-ref"] = f"{row['job']}/{row['build']}" + try: + metadata["hosts"] = ", ".join(row["hosts"]) + except (KeyError, TypeError): + pass customdata.append({"metadata": deepcopy(metadata)}) tput_kwargs = dict( y=y_data, @@ -207,7 +213,7 @@ def graph_iterative(data: pd.DataFrame, sel: list, layout: dict, ) tput_traces.append(go.Box(**tput_kwargs)) - if ttype in ("ndr", "pdr", "mrr"): + if ttype in C.TESTS_WITH_BANDWIDTH: y_band, y_band_max = get_y_values( itm_data, y_band_max, @@ -237,7 +243,7 @@ def graph_iterative(data: pd.DataFrame, sel: list, layout: dict, x_band.append(idx + 1) band_traces.append(go.Box(**band_kwargs)) - if ttype == "pdr": + if ttype in C.TESTS_WITH_LATENCY: y_lat, y_lat_max = get_y_values( itm_data, y_lat_max, @@ -281,7 +287,7 @@ def graph_iterative(data: pd.DataFrame, sel: list, layout: dict, pl_tput["xaxis"]["ticktext"] = [str(i + 1) for i in range(len(sel))] pl_tput["yaxis"]["title"] = f"Throughput [{'|'.join(sorted(y_units))}]" if y_tput_max: - pl_tput["yaxis"]["range"] = [0, int(y_tput_max) + 2e6] + pl_tput["yaxis"]["range"] = [0, int(y_tput_max) * 1.1] fig_tput = go.Figure(data=tput_traces, layout=pl_tput) if band_traces: @@ -291,7 +297,7 @@ def graph_iterative(data: pd.DataFrame, sel: list, layout: dict, pl_band["yaxis"]["title"] = \ f"Bandwidth [{'|'.join(sorted(y_band_units))}]" if y_band_max: - pl_band["yaxis"]["range"] = [0, int(y_band_max) + 2e9] + pl_band["yaxis"]["range"] = [0, int(y_band_max) * 1.1] fig_band = go.Figure(data=band_traces, layout=pl_band) if lat_traces: diff --git a/csit.infra.dash/app/cdash/report/layout.py b/csit.infra.dash/app/cdash/report/layout.py index 1978e7abae..f485894d78 100644 --- a/csit.infra.dash/app/cdash/report/layout.py +++ b/csit.infra.dash/app/cdash/report/layout.py @@ -166,10 +166,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" and \ @@ -179,6 +176,9 @@ class Layout: elif row["test_type"] == "hoststack" and 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: diff --git a/csit.infra.dash/app/cdash/stats/layout.py b/csit.infra.dash/app/cdash/stats/layout.py index 4e7b72e06f..655c61c078 100644 --- a/csit.infra.dash/app/cdash/stats/layout.py +++ b/csit.infra.dash/app/cdash/stats/layout.py @@ -784,7 +784,7 @@ class Layout: dbc.Badge(lst_itm[0]), html.A( lst_itm[1], - href=f"{C.URL_JENKINS}{lst_itm[1]}", + href=f"{C.URL_LOGS}{lst_itm[1]}", target="_blank" ) ]) 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}
" ) + 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}" + "
" + ) + 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}" + "
" + ) + try: + hosts = f"
hosts: {', '.join(row['hosts'])}" + except (KeyError, TypeError): + hosts = str() hover_itm = ( f"dut: {name_lst[0]}
" f"infra: {'-'.join(name_lst[1:5])}
" @@ -201,8 +221,8 @@ def graph_trending( f"date: {row['start_time'].strftime('%Y-%m-%d %H:%M:%S')}
" f"{h_tput}{h_band}{h_lat}" f"{row['dut_type']}-ref: {row['dut_version']}
" - f"csit-ref: {row['job']}/{row['build']}
" - 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"
hosts: {', '.join(row['hosts'])}" + except (KeyError, TypeError): + hosts = str() hover_itm = ( f"dut: {name_lst[0]}
" f"infra: {'-'.join(name_lst[1:5])}
" @@ -239,8 +263,8 @@ def graph_trending( f"trend [{row[C.UNIT[ttype]]}]: {avg:,.0f}
" f"stdev [{row[C.UNIT[ttype]]}]: {stdev:,.0f}
" f"{row['dut_type']}-ref: {row['dut_version']}
" - f"csit-ref: {row['job']}/{row['build']}
" - 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: diff --git a/csit.infra.dash/app/cdash/utils/constants.py b/csit.infra.dash/app/cdash/utils/constants.py index 5ed5a8cbd7..840766488a 100644 --- a/csit.infra.dash/app/cdash/utils/constants.py +++ b/csit.infra.dash/app/cdash/utils/constants.py @@ -47,6 +47,9 @@ class Constants: # URL to Jenkins URL_JENKINS = "https://jenkins.fd.io/job/" + # URL to logs + URL_LOGS = "https://s3-logs.fd.io/vex-yul-rot-jenkins-1/" + # URL to the documentation URL_DOC_TRENDING = "https://csit.fd.io/cdocs/methodology/trending/analysis/" URL_DOC_REL_NOTES = "https://csit.fd.io/cdocs/release_notes/current/" @@ -242,7 +245,9 @@ class Constants: "hoststack-cps-bandwidth": "result_bandwidth_value", "hoststack-rps-bandwidth": "result_bandwidth_value", "hoststack-bps": "result_bandwidth_value", - "hoststack-latency": "result_latency_value" + "hoststack-latency": "result_latency_value", + "soak": "result_critical_rate_lower_rate_value", + "soak-bandwidth": "result_critical_rate_lower_bandwidth_value" } VALUE_ITER = { @@ -255,8 +260,12 @@ class Constants: "latency": "result_latency_forward_pdr_50_avg", "hoststack-cps": "result_rate_value", "hoststack-rps": "result_rate_value", + "hoststack-cps-bandwidth": "result_bandwidth_value", + "hoststack-rps-bandwidth": "result_bandwidth_value", "hoststack-bps": "result_bandwidth_value", - "hoststack-latency": "result_latency_value" + "hoststack-latency": "result_latency_value", + "soak": "result_critical_rate_lower_rate_value", + "soak-bandwidth": "result_critical_rate_lower_bandwidth_value" } UNIT = { @@ -272,9 +281,25 @@ class Constants: "hoststack-cps-bandwidth": "result_bandwidth_unit", "hoststack-rps-bandwidth": "result_bandwidth_unit", "hoststack-bps": "result_bandwidth_unit", - "hoststack-latency": "result_latency_unit" + "hoststack-latency": "result_latency_unit", + "soak": "result_critical_rate_lower_rate_unit", + "soak-bandwidth": "result_critical_rate_lower_bandwidth_unit" } + TESTS_WITH_BANDWIDTH = ( + "ndr", + "pdr", + "mrr", + "hoststack-cps", + "hoststack-rps", + "soak" + ) + TESTS_WITH_LATENCY = ( + "pdr", + "hoststack-cps", + "hoststack-rps" + ) + # Latencies. LAT_HDRH = ( # Do not change the order "result_latency_forward_pdr_0_hdrh", diff --git a/csit.infra.dash/app/cdash/utils/utils.py b/csit.infra.dash/app/cdash/utils/utils.py index 692e45efb2..306b4f60d1 100644 --- a/csit.infra.dash/app/cdash/utils/utils.py +++ b/csit.infra.dash/app/cdash/utils/utils.py @@ -710,7 +710,7 @@ def show_trending_graph_data( dbc.Badge(lst_itm[0]), html.A( lst_itm[1], - href=f"{C.URL_JENKINS}{lst_itm[1]}", + href=f"{C.URL_LOGS}{lst_itm[1]}", target="_blank" ) ]) @@ -842,7 +842,7 @@ def show_iterative_graph_data( continue list_group_item = dbc.ListGroupItem([ dbc.Badge(k), - html.A(v, href=f"{C.URL_JENKINS}{v}", target="_blank") + html.A(v, href=f"{C.URL_LOGS}{v}", target="_blank") ]) else: list_group_item = dbc.ListGroupItem([dbc.Badge(k), v]) -- 2.16.6