aboutsummaryrefslogtreecommitdiffstats
path: root/csit.infra.dash
diff options
context:
space:
mode:
Diffstat (limited to 'csit.infra.dash')
-rw-r--r--csit.infra.dash/app/cdash/comparisons/tables.py12
-rw-r--r--csit.infra.dash/app/cdash/data/_metadata/coverage_rls2410_devicebin0 -> 5726 bytes
-rw-r--r--csit.infra.dash/app/cdash/data/_metadata/coverage_rls2410_ndrpdrbin0 -> 11868 bytes
-rw-r--r--csit.infra.dash/app/cdash/data/_metadata/iterative_rls2410_hoststackbin0 -> 8303 bytes
-rw-r--r--csit.infra.dash/app/cdash/data/_metadata/iterative_rls2410_mrrbin0 -> 9704 bytes
-rw-r--r--csit.infra.dash/app/cdash/data/_metadata/iterative_rls2410_ndrpdrbin0 -> 15951 bytes
-rw-r--r--csit.infra.dash/app/cdash/data/_metadata/iterative_rls2410_soakbin0 -> 9328 bytes
-rw-r--r--csit.infra.dash/app/cdash/data/data.yaml162
-rw-r--r--csit.infra.dash/app/cdash/stats/graphs.py6
-rw-r--r--csit.infra.dash/app/cdash/stats/layout.yaml4
-rw-r--r--csit.infra.dash/app/cdash/trending/graphs.py31
-rw-r--r--csit.infra.dash/app/cdash/trending/layout.yaml6
-rw-r--r--csit.infra.dash/app/cdash/utils/constants.py1
-rw-r--r--csit.infra.dash/app/requirements.txt82
14 files changed, 247 insertions, 57 deletions
diff --git a/csit.infra.dash/app/cdash/comparisons/tables.py b/csit.infra.dash/app/cdash/comparisons/tables.py
index fa92f3da7f..208dea3dc8 100644
--- a/csit.infra.dash/app/cdash/comparisons/tables.py
+++ b/csit.infra.dash/app/cdash/comparisons/tables.py
@@ -276,11 +276,6 @@ def comparison_table(
if r_data.empty or c_data.empty:
return str(), pd.DataFrame()
- if format == "html" and "Latency" not in r_sel["ttype"]:
- unit_factor, s_unit_factor = (1e6, "M")
- else:
- unit_factor, s_unit_factor = (1, str())
-
# Create Table title and titles of columns with data
params = list(r_sel)
params.remove(c_params["parameter"])
@@ -321,6 +316,13 @@ def comparison_table(
c_std = c_row["stdev"].values[0]
if r_mean == 0.0 or c_mean == 0.0:
continue
+ if format == "html" and "Latency" not in r_sel["ttype"]:
+ if row["unit"] == "bps":
+ unit_factor, s_unit_factor = (1e9, "G")
+ else:
+ unit_factor, s_unit_factor = (1e6, "M")
+ else:
+ unit_factor, s_unit_factor = (1, str())
unit.add(f"{s_unit_factor}{row['unit']}")
l_name.append(row["name"])
l_r_mean.append(r_mean / unit_factor)
diff --git a/csit.infra.dash/app/cdash/data/_metadata/coverage_rls2410_device b/csit.infra.dash/app/cdash/data/_metadata/coverage_rls2410_device
new file mode 100644
index 0000000000..011ebba41f
--- /dev/null
+++ b/csit.infra.dash/app/cdash/data/_metadata/coverage_rls2410_device
Binary files differ
diff --git a/csit.infra.dash/app/cdash/data/_metadata/coverage_rls2410_ndrpdr b/csit.infra.dash/app/cdash/data/_metadata/coverage_rls2410_ndrpdr
new file mode 100644
index 0000000000..06bc618bea
--- /dev/null
+++ b/csit.infra.dash/app/cdash/data/_metadata/coverage_rls2410_ndrpdr
Binary files differ
diff --git a/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2410_hoststack b/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2410_hoststack
new file mode 100644
index 0000000000..1e9c708253
--- /dev/null
+++ b/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2410_hoststack
Binary files differ
diff --git a/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2410_mrr b/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2410_mrr
new file mode 100644
index 0000000000..ced78967c5
--- /dev/null
+++ b/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2410_mrr
Binary files differ
diff --git a/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2410_ndrpdr b/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2410_ndrpdr
new file mode 100644
index 0000000000..cf2b8a116b
--- /dev/null
+++ b/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2410_ndrpdr
Binary files differ
diff --git a/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2410_soak b/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2410_soak
new file mode 100644
index 0000000000..4502ca4f59
--- /dev/null
+++ b/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2410_soak
Binary files differ
diff --git a/csit.infra.dash/app/cdash/data/data.yaml b/csit.infra.dash/app/cdash/data/data.yaml
index c1b45536b7..36fb450587 100644
--- a/csit.infra.dash/app/cdash/data/data.yaml
+++ b/csit.infra.dash/app/cdash/data/data.yaml
@@ -539,3 +539,165 @@
- passed
- test_id
- version
+- data_type: iterative
+ partition: test_type
+ partition_name: mrr
+ release: rls2410
+ path: s3://fdio-docs-s3-cloudfront-index/csit/parquet/iterative_rls2410
+ schema: iterative_rls2410_mrr
+ columns:
+ - job
+ - build
+ - dut_type
+ - dut_version
+ - tg_type
+ - hosts
+ - start_time
+ - passed
+ - test_id
+ - version
+ - result_receive_rate_rate_avg
+ - result_receive_rate_rate_stdev
+ - result_receive_rate_rate_unit
+ - result_receive_rate_bandwidth_avg
+ - result_receive_rate_bandwidth_stdev
+ - result_receive_rate_bandwidth_unit
+- data_type: iterative
+ partition: test_type
+ partition_name: ndrpdr
+ release: rls2410
+ path: s3://fdio-docs-s3-cloudfront-index/csit/parquet/iterative_rls2410
+ schema: iterative_rls2410_ndrpdr
+ columns:
+ - job
+ - build
+ - dut_type
+ - dut_version
+ - tg_type
+ - hosts
+ - start_time
+ - passed
+ - test_id
+ - version
+ - result_pdr_lower_rate_unit
+ - result_pdr_lower_rate_value
+ - result_ndr_lower_rate_unit
+ - result_ndr_lower_rate_value
+ - result_pdr_lower_bandwidth_unit
+ - result_pdr_lower_bandwidth_value
+ - result_ndr_lower_bandwidth_unit
+ - result_ndr_lower_bandwidth_value
+ - result_latency_reverse_pdr_90_hdrh
+ - result_latency_reverse_pdr_50_hdrh
+ - result_latency_reverse_pdr_10_hdrh
+ - result_latency_reverse_pdr_0_hdrh
+ - result_latency_forward_pdr_90_hdrh
+ - result_latency_forward_pdr_50_avg
+ - result_latency_forward_pdr_50_hdrh
+ - result_latency_forward_pdr_50_unit
+ - result_latency_forward_pdr_10_hdrh
+ - result_latency_forward_pdr_0_hdrh
+- data_type: iterative
+ partition: test_type
+ partition_name: hoststack
+ release: rls2410
+ path: s3://fdio-docs-s3-cloudfront-index/csit/parquet/iterative_rls2410
+ schema: iterative_rls2410_hoststack
+ columns:
+ - job
+ - build
+ - dut_type
+ - dut_version
+ - hosts
+ - tg_type
+ - result_bandwidth_unit
+ - result_bandwidth_value
+ - result_rate_unit
+ - result_rate_value
+ - start_time
+ - passed
+ - test_id
+ - version
+- data_type: iterative
+ partition: test_type
+ partition_name: soak
+ release: rls2410
+ path: s3://fdio-docs-s3-cloudfront-index/csit/parquet/iterative_rls2410
+ schema: iterative_rls2410_soak
+ columns:
+ - job
+ - build
+ - dut_type
+ - dut_version
+ - hosts
+ - tg_type
+ - result_critical_rate_lower_bandwidth_unit
+ - result_critical_rate_lower_bandwidth_value
+ - result_critical_rate_lower_rate_unit
+ - result_critical_rate_lower_rate_value
+ - start_time
+ - passed
+ - telemetry
+ - test_id
+ - version
+- data_type: coverage
+ partition: test_type
+ partition_name: ndrpdr
+ release: rls2410
+ path: s3://fdio-docs-s3-cloudfront-index/csit/parquet/coverage_rls2410
+ schema: coverage_rls2410_ndrpdr
+ columns:
+ - job
+ - build
+ - dut_type
+ - dut_version
+ - tg_type
+ - start_time
+ - passed
+ - test_id
+ - version
+ - result_pdr_lower_rate_unit
+ - result_pdr_lower_rate_value
+ - result_ndr_lower_rate_value
+ - result_pdr_lower_bandwidth_value
+ - result_ndr_lower_bandwidth_value
+ - result_latency_reverse_pdr_90_hdrh
+ - result_latency_reverse_pdr_50_hdrh
+ - result_latency_reverse_pdr_10_hdrh
+ - result_latency_forward_pdr_90_hdrh
+ - result_latency_forward_pdr_50_hdrh
+ - result_latency_forward_pdr_10_hdrh
+- data_type: coverage
+ partition: test_type
+ partition_name: mrr
+ release: rls2410
+ path: s3://fdio-docs-s3-cloudfront-index/csit/parquet/coverage_rls2410
+ schema: iterative_rls2410_mrr
+ columns:
+ - job
+ - build
+ - dut_type
+ - dut_version
+ - tg_type
+ - 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: rls2410
+ path: s3://fdio-docs-s3-cloudfront-index/csit/parquet/coverage_rls2410
+ schema: coverage_rls2410_device
+ columns:
+ - job
+ - build
+ - dut_type
+ - dut_version
+ - tg_type
+ - passed
+ - test_id
+ - version
diff --git a/csit.infra.dash/app/cdash/stats/graphs.py b/csit.infra.dash/app/cdash/stats/graphs.py
index 4b25396680..61eef41115 100644
--- a/csit.infra.dash/app/cdash/stats/graphs.py
+++ b/csit.infra.dash/app/cdash/stats/graphs.py
@@ -17,6 +17,9 @@
import plotly.graph_objects as go
import pandas as pd
+from datetime import datetime
+from pytz import UTC
+
from ..utils.constants import Constants as C
@@ -86,6 +89,7 @@ def graph_statistics(df: pd.DataFrame, job: str, layout: dict) -> tuple:
)
)
+ x_range = [data["start_time"][0], datetime.now(tz=UTC).strftime("%Y-%m-%d")]
tickvals = [0, ]
step = max(data["duration"]) / 5
for i in range(5):
@@ -97,6 +101,7 @@ def graph_statistics(df: pd.DataFrame, job: str, layout: dict) -> tuple:
f"{(val // 3600):02d}:{((val % 3600) // 60):02d}" \
for val in tickvals
]
+ layout_duration["xaxis"]["range"] = x_range
fig_duration.update_layout(layout_duration)
# Passed / failed:
@@ -124,6 +129,7 @@ def graph_statistics(df: pd.DataFrame, job: str, layout: dict) -> tuple:
)
layout_pf = layout.get("plot-stats-passed", dict())
if layout_pf:
+ layout_pf["xaxis"]["range"] = x_range
fig_passed.update_layout(layout_pf)
return fig_passed, fig_duration
diff --git a/csit.infra.dash/app/cdash/stats/layout.yaml b/csit.infra.dash/app/cdash/stats/layout.yaml
index 488654640f..70ba940910 100644
--- a/csit.infra.dash/app/cdash/stats/layout.yaml
+++ b/csit.infra.dash/app/cdash/stats/layout.yaml
@@ -15,7 +15,7 @@ plot-stats-passed:
xaxis:
title: 'Date [MMDD]'
type: "date"
- autorange: True
+ autorange: False
fixedrange: False
showgrid: True
gridcolor: "rgb(238, 238, 238)"
@@ -56,7 +56,7 @@ plot-stats-duration:
xaxis:
title: 'Date [MMDD]'
type: "date"
- autorange: True
+ autorange: False
fixedrange: False
showgrid: True
gridcolor: "rgb(238, 238, 238)"
diff --git a/csit.infra.dash/app/cdash/trending/graphs.py b/csit.infra.dash/app/cdash/trending/graphs.py
index 7417fc1733..512a9d8de9 100644
--- a/csit.infra.dash/app/cdash/trending/graphs.py
+++ b/csit.infra.dash/app/cdash/trending/graphs.py
@@ -19,6 +19,8 @@ import plotly.graph_objects as go
import pandas as pd
from numpy import nan
+from datetime import datetime
+from pytz import UTC
from ..utils.constants import Constants as C
from ..utils.utils import get_color, get_hdrh_latencies
@@ -237,10 +239,17 @@ def graph_trending(
hosts = f"<br>hosts: {', '.join(row['hosts'])}"
except (KeyError, TypeError):
hosts = str()
+
+ for drv in C.DRIVERS:
+ if drv in name_lst:
+ split_idx = name_lst.index(drv) + 1
+ break
+ else:
+ split_idx = 5
hover_itm = (
f"dut: {name_lst[0]}<br>"
- f"infra: {'-'.join(name_lst[1:5])}<br>"
- f"test: {'-'.join(name_lst[5:])}<br>"
+ f"infra: {'-'.join(name_lst[1:split_idx])}<br>"
+ f"test: {'-'.join(name_lst[split_idx:])}<br>"
f"date: {row['start_time'].strftime('%Y-%m-%d %H:%M:%S')}<br>"
f"{h_tput}{h_tput_trials}{h_band}{h_band_trials}{h_lat}"
f"{row['dut_type']}-ref: {row['dut_version']}<br>"
@@ -446,11 +455,13 @@ def graph_trending(
fig_tput = None
fig_lat = None
fig_band = None
+ start_times = list()
y_units = set()
for idx, itm in enumerate(sel):
df = select_trending_data(data, itm)
if df is None or df.empty:
continue
+ start_times.append(df["start_time"][0])
if normalize:
phy = itm["phy"].rsplit("-", maxsplit=2)
@@ -521,15 +532,21 @@ def graph_trending(
y_units.update(units)
+ x_range = [min(start_times), datetime.now(tz=UTC).strftime("%Y-%m-%d")]
if fig_tput:
- fig_layout = layout.get("plot-trending-tput", dict())
- fig_layout["yaxis"]["title"] = \
+ layout_tput = layout.get("plot-trending-tput", dict())
+ layout_tput["yaxis"]["title"] = \
f"Throughput [{'|'.join(sorted(y_units))}]"
- fig_tput.update_layout(fig_layout)
+ layout_tput["xaxis"]["range"] = x_range
+ fig_tput.update_layout(layout_tput)
if fig_band:
- fig_band.update_layout(layout.get("plot-trending-bandwidth", dict()))
+ layout_band = layout.get("plot-trending-bandwidth", dict())
+ layout_band["xaxis"]["range"] = x_range
+ fig_band.update_layout(layout_band)
if fig_lat:
- fig_lat.update_layout(layout.get("plot-trending-lat", dict()))
+ layout_lat = layout.get("plot-trending-lat", dict())
+ layout_lat["xaxis"]["range"] = x_range
+ fig_lat.update_layout(layout_lat)
return fig_tput, fig_band, fig_lat
diff --git a/csit.infra.dash/app/cdash/trending/layout.yaml b/csit.infra.dash/app/cdash/trending/layout.yaml
index e4fcd29260..948ca9372b 100644
--- a/csit.infra.dash/app/cdash/trending/layout.yaml
+++ b/csit.infra.dash/app/cdash/trending/layout.yaml
@@ -16,7 +16,7 @@ plot-trending-tput:
xaxis:
title: 'Date [MMDD]'
type: "date"
- autorange: True
+ autorange: False
fixedrange: False
showgrid: True
gridcolor: "rgb(238, 238, 238)"
@@ -56,7 +56,7 @@ plot-trending-bandwidth:
xaxis:
title: 'Date [MMDD]'
type: "date"
- autorange: True
+ autorange: False
fixedrange: False
showgrid: True
gridcolor: "rgb(238, 238, 238)"
@@ -96,7 +96,7 @@ plot-trending-lat:
xaxis:
title: 'Date [MMDD]'
type: "date"
- autorange: True
+ autorange: False
fixedrange: False
showgrid: True
gridcolor: "rgb(238, 238, 238)"
diff --git a/csit.infra.dash/app/cdash/utils/constants.py b/csit.infra.dash/app/cdash/utils/constants.py
index 444ccd3981..4eada6ec1e 100644
--- a/csit.infra.dash/app/cdash/utils/constants.py
+++ b/csit.infra.dash/app/cdash/utils/constants.py
@@ -259,6 +259,7 @@ class Constants:
"2n-aws": 3.400,
"2n-c6in": 3.500,
"2n-clx": 2.300,
+ "2n-grc": 3.500,
"2n-icx": 2.600,
"2n-spr": 2.800,
"2n-tx2": 2.500,
diff --git a/csit.infra.dash/app/requirements.txt b/csit.infra.dash/app/requirements.txt
index edea01075d..7dfd7c8ccf 100644
--- a/csit.infra.dash/app/requirements.txt
+++ b/csit.infra.dash/app/requirements.txt
@@ -1,58 +1,60 @@
# AWS integration
-awswrangler==3.2.1
-pip==23.2.1
+awswrangler==3.9.0
+pip==24.1.2
# Dash integration
-dash==2.11.1
-dash-bootstrap-components==1.4.2
+dash==2.17.1
+dash-bootstrap-components==1.6.0
dash-core-components==2.0.0
dash-html-components==2.0.0
dash-renderer==1.9.1
dash-table==5.0.0
-numpy==1.25.2
-pandas==2.0.3
-plotly==5.15.0
-numexpr==2.8.4
-Bottleneck==1.3.7
+numpy==1.26.4 # awswrangler 3.9.0 depends on numpy<2.0 and >=1.18
+pandas==2.2.2
+plotly==5.23.0
+numexpr==2.10.1
+Bottleneck==1.4.0
# Web Application Integration
-Flask==2.2.5
-Flask-Assets==2.0
-Flask-Compress==1.13
-Jinja2==3.1.2
-libsass==0.22.0
-uWSGI==2.0.22
-uwsgitop==0.11
+Flask==3.0.3
+Flask-Assets==2.1.0
+Flask-Compress==1.15
+Jinja2==3.1.4
+libsass==0.23.0
+uWSGI==2.0.26
+uwsgitop==0.12
webassets==2.0
# Web Application Dependencies
-hdrhistogram==0.10.2
-python-dateutil==2.8.2
+hdrhistogram==0.10.3
+python-dateutil==2.9.0
PyYAML==6.0.1
# PIP freeze
-ansi2html==1.8.0
-boto3==1.28.17
-botocore==1.31.17
-Brotli==1.0.9
-certifi==2023.7.22
-charset-normalizer==3.2.0
-click==8.1.6
-idna==3.4
-itsdangerous==2.1.2
+blinker==1.8.2
+boto3==1.34.149
+Brotli==1.1.0
+certifi==2024.7.4
+charset-normalizer==3.3.2
+click==8.1.7
+idna==3.7
+importlib_metadata==8.2.0
+itsdangerous==2.2.0
jmespath==1.0.1
-MarkupSafe==2.1.3
-nest-asyncio==1.5.7
-packaging==23.1
-pbr==5.11.1
-pyarrow==12.0.1
-pytz==2023.3
-requests==2.31.0
+MarkupSafe==2.1.5
+nest-asyncio==1.6.0
+packaging==24.1
+pbr==6.0.0
+pyarrow==17.0.0
+pytz==2024.1
+requests==2.32.3
retrying==1.3.4
-s3transfer==0.6.1
+s3transfer==0.10.2
six==1.16.0
-tenacity==8.2.2
-typing_extensions==4.7.1
-tzdata==2023.3
-urllib3==1.26.16
-Werkzeug==2.2.3 \ No newline at end of file
+tenacity==8.5.0
+typing_extensions==4.12.2
+tzdata==2024.1
+urllib3==2.2.2
+Werkzeug==3.0.3
+zipp==3.19.2
+zstandard==0.23.0