From a214378b5d0589fcbd9a9cc8c9b25bce8a862cec Mon Sep 17 00:00:00 2001 From: Tibor Frank Date: Wed, 1 Feb 2023 15:50:36 +0100 Subject: C-Dash: Add hoststack Signed-off-by: Tibor Frank Change-Id: I5055bc785f5ba5c9b13ba83eaf646975cfe86ea4 --- csit.infra.dash/app/cdash/report/graphs.py | 16 +++++++++++----- csit.infra.dash/app/cdash/report/layout.py | 22 ++++++++++++++++++---- csit.infra.dash/app/cdash/report/layout.yaml | 2 +- 3 files changed, 30 insertions(+), 10 deletions(-) (limited to 'csit.infra.dash/app/cdash/report') diff --git a/csit.infra.dash/app/cdash/report/graphs.py b/csit.infra.dash/app/cdash/report/graphs.py index 5af962158e..411a599b1c 100644 --- a/csit.infra.dash/app/cdash/report/graphs.py +++ b/csit.infra.dash/app/cdash/report/graphs.py @@ -11,10 +11,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -""" +"""Implementation of graphs for iterative data. """ -import re import plotly.graph_objects as go import pandas as pd @@ -47,13 +46,20 @@ def select_iterative_data(data: pd.DataFrame, itm:dict) -> pd.DataFrame: else: return None - core = str() if itm["dut"] == "trex" else f"{itm['core']}" - ttype = "ndrpdr" if itm["testtype"] in ("ndr", "pdr") else itm["testtype"] + if itm["testtype"] in ("ndr", "pdr"): + test_type = "ndrpdr" + elif itm["testtype"] == "mrr": + test_type = "mrr" + elif itm["area"] == "hoststack": + test_type = "hoststack" df = data.loc[( (data["release"] == itm["rls"]) & - (data["test_type"] == ttype) & + (data["test_type"] == test_type) & (data["passed"] == True) )] + + core = str() if itm["dut"] == "trex" else f"{itm['core']}" + ttype = "ndrpdr" if itm["testtype"] in ("ndr", "pdr") else itm["testtype"] regex_test = \ f"^.*[.|-]{nic}.*{itm['framesize']}-{core}-{drv}{itm['test']}-{ttype}$" df = df[ diff --git a/csit.infra.dash/app/cdash/report/layout.py b/csit.infra.dash/app/cdash/report/layout.py index 495de36dec..cae6993ec2 100644 --- a/csit.infra.dash/app/cdash/report/layout.py +++ b/csit.infra.dash/app/cdash/report/layout.py @@ -112,10 +112,11 @@ class Layout: # Get structure of tests: tbs = dict() - cols = ["job", "test_id", "test_type", "dut_version", "release"] + cols = [ + "job", "test_id", "test_type", "dut_version", "tg_type", "release" + ] for _, row in self._data[cols].drop_duplicates().iterrows(): rls = row["release"] - ttype = row["test_type"] lst_job = row["job"].split("-") dut = lst_job[1] d_ver = row["dut_version"] @@ -167,18 +168,31 @@ class Layout: tbs[rls][dut][d_ver][infra][area][test]["frame-size"].append( framesize.upper() ) - if ttype == "mrr": + if row["test_type"] == "mrr": if "MRR" not in \ tbs[rls][dut][d_ver][infra][area][test]["test-type"]: tbs[rls][dut][d_ver][infra][area][test]["test-type"].append( "MRR" ) - elif ttype == "ndrpdr": + elif row["test_type"] == "ndrpdr": if "NDR" not in \ tbs[rls][dut][d_ver][infra][area][test]["test-type"]: tbs[rls][dut][d_ver][infra][area][test]["test-type"].extend( ("NDR", "PDR", ) ) + elif row["test_type"] == "hoststack" and \ + row["tg_type"] in ("iperf", "vpp"): + if "BPS" not in \ + tbs[rls][dut][d_ver][infra][area][test]["test-type"]: + tbs[rls][dut][d_ver][infra][area][test]["test-type"].append( + "BPS" + ) + elif row["test_type"] == "hoststack" and row["tg_type"] == "ab": + if "CPS" not in \ + tbs[rls][dut][d_ver][infra][area][test]["test-type"]: + tbs[rls][dut][d_ver][infra][area][test]["test-type"].extend( + ("CPS", "RPS") + ) self._spec_tbs = tbs # Read from files: diff --git a/csit.infra.dash/app/cdash/report/layout.yaml b/csit.infra.dash/app/cdash/report/layout.yaml index 4f9f7ac2a7..636b901474 100644 --- a/csit.infra.dash/app/cdash/report/layout.yaml +++ b/csit.infra.dash/app/cdash/report/layout.yaml @@ -13,7 +13,7 @@ plot-throughput: tickmode: "array" zeroline: False yaxis: - title: "Packet Throughput [pps]" + title: "Throughput [pps|cps|rps|bps]" gridcolor: "rgb(230, 230, 230)" hoverformat: ".3s" tickformat: ".3s" -- cgit 1.2.3-korg