aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTibor Frank <tifrank@cisco.com>2023-11-07 14:56:55 +0000
committerTibor Frank <tifrank@cisco.com>2023-11-07 14:56:55 +0000
commit2ff03f4555ad917f74259f971d6d25c7cfd1861c (patch)
treeecad6260b380ec751225b8a5d9508d241a615b5b
parentcb85a2e1ef018ac0f2dbc0ca1b874d852c03766d (diff)
C-Dash: Add GSO to report
Change-Id: Ie8c22c76557bf491abc53aedc1e7f605c37c88d3 Signed-off-by: Tibor Frank <tifrank@cisco.com>
-rw-r--r--csit.infra.dash/app/cdash/coverage/tables.py55
-rw-r--r--csit.infra.dash/app/cdash/data/data.yaml18
-rw-r--r--csit.infra.dash/app/cdash/utils/constants.py3
3 files changed, 67 insertions, 9 deletions
diff --git a/csit.infra.dash/app/cdash/coverage/tables.py b/csit.infra.dash/app/cdash/coverage/tables.py
index f2fa90ffb2..372a8206bf 100644
--- a/csit.infra.dash/app/cdash/coverage/tables.py
+++ b/csit.infra.dash/app/cdash/coverage/tables.py
@@ -14,6 +14,7 @@
"""The coverage data tables.
"""
+
import hdrh.histogram
import hdrh.codec
import pandas as pd
@@ -54,7 +55,7 @@ def select_coverage_data(
phy = selected["phy"].split("-")
if len(phy) == 4:
topo, arch, nic, drv = phy
- drv = "" if drv == "dpdk" else drv.replace("_", "-")
+ drv_str = "" if drv == "dpdk" else drv.replace("_", "-")
else:
return l_data
@@ -67,7 +68,7 @@ def select_coverage_data(
df = df[
(df.job.str.endswith(f"{topo}-{arch}")) &
(df.test_id.str.contains(
- f"^.*\.{selected['area']}\..*{nic}.*{drv}.*$",
+ f"^.*\.{selected['area']}\..*{nic}.*{drv_str}.*$",
regex=True
))
]
@@ -115,7 +116,15 @@ def select_coverage_data(
if ttype == "device":
cov = cov.assign(Result="PASS")
- else:
+ elif ttype == "mrr":
+ cov["Throughput_Unit"] = df["result_receive_rate_rate_unit"]
+ cov["Throughput_AVG"] = df.apply(
+ lambda row: row["result_receive_rate_rate_avg"] / 1e9, axis=1
+ )
+ cov["Throughput_STDEV"] = df.apply(
+ lambda row: row["result_receive_rate_rate_stdev"] / 1e9, axis=1
+ )
+ else: # NDRPDR
cov["Throughput_Unit"] = df["result_pdr_lower_rate_unit"]
cov["Throughput_NDR"] = df.apply(
lambda row: row["result_ndr_lower_rate_value"] / 1e6, axis=1
@@ -152,7 +161,9 @@ def select_coverage_data(
df_suite.rename(
columns={
"Throughput_NDR": f"Throughput_NDR_M{unit}",
- "Throughput_PDR": f"Throughput_PDR_M{unit}"
+ "Throughput_PDR": f"Throughput_PDR_M{unit}",
+ "Throughput_AVG": f"Throughput_G{unit}_AVG",
+ "Throughput_STDEV": f"Throughput_G{unit}_STDEV"
},
inplace=True
)
@@ -160,7 +171,7 @@ def select_coverage_data(
l_data.append((suite, df_suite, ))
- return l_data
+ return l_data, ttype
def coverage_tables(
@@ -181,9 +192,10 @@ def coverage_tables(
"""
accordion_items = list()
- sel_data = select_coverage_data(data, selected, show_latency=show_latency)
+ sel_data, ttype = \
+ select_coverage_data(data, selected, show_latency=show_latency)
for suite, cov_data in sel_data:
- if len(cov_data.columns) == 3: # VPP Device
+ if ttype == "device": # VPP Device
cols = [
{
"name": col,
@@ -200,7 +212,34 @@ def coverage_tables(
"textAlign": "right"
}
]
- else: # Performance
+ elif ttype == "mrr": # MRR
+ cols = list()
+ for idx, col in enumerate(cov_data.columns):
+ if idx == 0:
+ cols.append({
+ "name": ["", "", col],
+ "id": col,
+ "deletable": False,
+ "selectable": False,
+ "type": "text"
+ })
+ else:
+ cols.append({
+ "name": col.split("_"),
+ "id": col,
+ "deletable": False,
+ "selectable": False,
+ "type": "numeric",
+ "format": Format(precision=2, scheme=Scheme.fixed)
+ })
+ style_cell={"textAlign": "right"}
+ style_cell_conditional=[
+ {
+ "if": {"column_id": "Test Name"},
+ "textAlign": "left"
+ }
+ ]
+ else: # Performance NDRPDR
cols = list()
for idx, col in enumerate(cov_data.columns):
if idx == 0:
diff --git a/csit.infra.dash/app/cdash/data/data.yaml b/csit.infra.dash/app/cdash/data/data.yaml
index cff25915e5..0f66197ec3 100644
--- a/csit.infra.dash/app/cdash/data/data.yaml
+++ b/csit.infra.dash/app/cdash/data/data.yaml
@@ -402,6 +402,24 @@
- result_latency_forward_pdr_10_hdrh
- data_type: coverage
partition: test_type
+ partition_name: mrr
+ release: rls2310
+ path: s3://fdio-docs-s3-cloudfront-index/csit/parquet/coverage_rls2310
+ schema: iterative_rls2310_mrr
+ columns:
+ - job
+ - build
+ - dut_type
+ - dut_version
+ - start_time
+ - passed
+ - test_id
+ - version
+ - result_receive_rate_rate_avg
+ - result_receive_rate_rate_stdev
+ - result_receive_rate_rate_unit
+- data_type: coverage
+ partition: test_type
partition_name: device
release: rls2310
path: s3://fdio-docs-s3-cloudfront-index/csit/parquet/coverage_rls2310
diff --git a/csit.infra.dash/app/cdash/utils/constants.py b/csit.infra.dash/app/cdash/utils/constants.py
index 922634898e..5f5d40aea7 100644
--- a/csit.infra.dash/app/cdash/utils/constants.py
+++ b/csit.infra.dash/app/cdash/utils/constants.py
@@ -73,7 +73,7 @@ class Constants:
# Maximal value of TIME_PERIOD for data read from the parquets in days.
# Do not change without a good reason.
- MAX_TIME_PERIOD = 130
+ MAX_TIME_PERIOD = 180
# It defines the time period for data read from the parquets in days from
# now back to the past.
@@ -126,6 +126,7 @@ class Constants:
"dpdk": "DPDK",
"container_memif": "LXC/DRC Container Memif",
"crypto": "IPSec IPv4 Routing",
+ "gso": "GSO",
"ip4": "IPv4 Routing",
"ip4_tunnels": "IPv4 Tunnels",
"ip6": "IPv6 Routing",