diff options
Diffstat (limited to 'csit.infra.dash')
-rw-r--r-- | csit.infra.dash/app/cdash/comparisons/tables.py | 12 | ||||
-rw-r--r-- | csit.infra.dash/app/cdash/data/_metadata/coverage_rls2410_device | bin | 0 -> 5726 bytes | |||
-rw-r--r-- | csit.infra.dash/app/cdash/data/_metadata/coverage_rls2410_ndrpdr | bin | 0 -> 11868 bytes | |||
-rw-r--r-- | csit.infra.dash/app/cdash/data/_metadata/iterative_rls2410_hoststack | bin | 0 -> 8303 bytes | |||
-rw-r--r-- | csit.infra.dash/app/cdash/data/_metadata/iterative_rls2410_mrr | bin | 0 -> 9704 bytes | |||
-rw-r--r-- | csit.infra.dash/app/cdash/data/_metadata/iterative_rls2410_ndrpdr | bin | 0 -> 15951 bytes | |||
-rw-r--r-- | csit.infra.dash/app/cdash/data/_metadata/iterative_rls2410_soak | bin | 0 -> 9328 bytes | |||
-rw-r--r-- | csit.infra.dash/app/cdash/data/data.yaml | 162 | ||||
-rw-r--r-- | csit.infra.dash/app/cdash/stats/graphs.py | 6 | ||||
-rw-r--r-- | csit.infra.dash/app/cdash/stats/layout.yaml | 4 | ||||
-rw-r--r-- | csit.infra.dash/app/cdash/trending/graphs.py | 31 | ||||
-rw-r--r-- | csit.infra.dash/app/cdash/trending/layout.yaml | 6 | ||||
-rw-r--r-- | csit.infra.dash/app/cdash/utils/constants.py | 1 | ||||
-rw-r--r-- | csit.infra.dash/app/requirements.txt | 82 |
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 Binary files differnew file mode 100644 index 0000000000..011ebba41f --- /dev/null +++ b/csit.infra.dash/app/cdash/data/_metadata/coverage_rls2410_device diff --git a/csit.infra.dash/app/cdash/data/_metadata/coverage_rls2410_ndrpdr b/csit.infra.dash/app/cdash/data/_metadata/coverage_rls2410_ndrpdr Binary files differnew file mode 100644 index 0000000000..06bc618bea --- /dev/null +++ b/csit.infra.dash/app/cdash/data/_metadata/coverage_rls2410_ndrpdr diff --git a/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2410_hoststack b/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2410_hoststack Binary files differnew file mode 100644 index 0000000000..1e9c708253 --- /dev/null +++ b/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2410_hoststack diff --git a/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2410_mrr b/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2410_mrr Binary files differnew file mode 100644 index 0000000000..ced78967c5 --- /dev/null +++ b/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2410_mrr diff --git a/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2410_ndrpdr b/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2410_ndrpdr Binary files differnew file mode 100644 index 0000000000..cf2b8a116b --- /dev/null +++ b/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2410_ndrpdr diff --git a/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2410_soak b/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2410_soak Binary files differnew file mode 100644 index 0000000000..4502ca4f59 --- /dev/null +++ b/csit.infra.dash/app/cdash/data/_metadata/iterative_rls2410_soak 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 |