From 5eef2e9ba38076e08a6077d52b6db215842fde36 Mon Sep 17 00:00:00 2001 From: jenkins Date: Sat, 16 May 2026 05:18:53 -0300 Subject: [PATCH] monitoring: refine overview timeline readability --- scripts/dashboards_render_atlas.py | 32 ++++++++++++--- scripts/tests/test_dashboards_render_atlas.py | 27 ++++++++----- .../monitoring/dashboards/atlas-overview.json | 39 ++++++++++++++++--- .../grafana-dashboard-overview.yaml | 39 ++++++++++++++++--- 4 files changed, 111 insertions(+), 26 deletions(-) diff --git a/scripts/dashboards_render_atlas.py b/scripts/dashboards_render_atlas.py index a666ec81..b70ebced 100644 --- a/scripts/dashboards_render_atlas.py +++ b/scripts/dashboards_render_atlas.py @@ -1835,9 +1835,12 @@ def build_overview(): "mode": "absolute", "steps": [ {"color": dark_blue, "value": None}, - {"color": dark_green, "value": 3}, - {"color": dark_yellow, "value": 6}, - {"color": dark_orange, "value": 8}, + {"color": "semi-dark-blue", "value": 1}, + {"color": dark_green, "value": 2}, + {"color": "semi-dark-green", "value": 4}, + {"color": dark_yellow, "value": 5}, + {"color": dark_orange, "value": 7}, + {"color": "semi-dark-red", "value": 9}, {"color": dark_red, "value": 10}, ], } @@ -1914,9 +1917,24 @@ def build_overview(): {"refId": "A", "expr": ANANKE_UPS_DRAW_WATTS_DB_SERIES, "legendFormat": ANANKE_UPS_DB_NAME}, {"refId": "B", "expr": ANANKE_UPS_DRAW_WATTS_TETHYS_SERIES, "legendFormat": ANANKE_UPS_TETHYS_NAME}, ], - field_overrides=fixed_color_overrides( - {ANANKE_UPS_DB_NAME: dark_blue, ANANKE_UPS_TETHYS_NAME: dark_yellow} - ), + field_overrides=[ + { + "matcher": {"id": "byName", "options": ANANKE_UPS_DB_NAME}, + "properties": [ + {"id": "color", "value": {"mode": "fixed", "fixedColor": dark_blue}}, + {"id": "custom.barAlignment", "value": -1}, + {"id": "custom.barWidthFactor", "value": 0.42}, + ], + }, + { + "matcher": {"id": "byName", "options": ANANKE_UPS_TETHYS_NAME}, + "properties": [ + {"id": "color", "value": {"mode": "fixed", "fixedColor": dark_yellow}}, + {"id": "custom.barAlignment", "value": 1}, + {"id": "custom.barWidthFactor", "value": 0.42}, + ], + }, + ], legend_display="table", legend_placement="right", links=overview_link("atlas-power"), @@ -2211,6 +2229,8 @@ def build_overview(): description="Percent of current gate dimensions passing per suite over time. There are seven gate dimensions, so 85.7% means one gate is failing.", ) ) + panels[-1]["options"]["legend"] = {"displayMode": "hidden", "placement": "bottom"} + panels[-1]["options"]["rowHeight"] = 0.95 for panel_id, title, metric, x_pos, description in [ ( 142, diff --git a/scripts/tests/test_dashboards_render_atlas.py b/scripts/tests/test_dashboards_render_atlas.py index daf72338..ac3c8373 100644 --- a/scripts/tests/test_dashboards_render_atlas.py +++ b/scripts/tests/test_dashboards_render_atlas.py @@ -82,22 +82,27 @@ def test_overview_uses_readable_quality_power_and_gitops_panels(): assert panels_by_title["UPS History (Power Draw)"]["fieldConfig"]["defaults"]["custom"]["drawStyle"] == "bars" assert panels_by_title["UPS History (Power Draw)"]["fieldConfig"]["defaults"]["custom"]["barWidthFactor"] == 0.72 ups_overrides = panels_by_title["UPS History (Power Draw)"]["fieldConfig"]["overrides"] - assert any( - override["matcher"]["options"] == "Pyrphoros" - and override["properties"][0]["value"] == {"mode": "fixed", "fixedColor": "dark-blue"} - for override in ups_overrides - ) - assert any( - override["matcher"]["options"] == "Statera" - and override["properties"][0]["value"] == {"mode": "fixed", "fixedColor": "dark-yellow"} - for override in ups_overrides - ) + ups_override_by_name = {override["matcher"]["options"]: override for override in ups_overrides} + assert ups_override_by_name["Pyrphoros"]["properties"] == [ + {"id": "color", "value": {"mode": "fixed", "fixedColor": "dark-blue"}}, + {"id": "custom.barAlignment", "value": -1}, + {"id": "custom.barWidthFactor", "value": 0.42}, + ] + assert ups_override_by_name["Statera"]["properties"] == [ + {"id": "color", "value": {"mode": "fixed", "fixedColor": "dark-yellow"}}, + {"id": "custom.barAlignment", "value": 1}, + {"id": "custom.barWidthFactor", "value": 0.42}, + ] assert panels_by_title["Ariadne Run Volume"]["fieldConfig"]["defaults"]["custom"]["drawStyle"] == "bars" assert "Fan History (0-10)" not in panels_by_title assert panels_by_title["Fan Intensity History"]["type"] == "state-timeline" assert panels_by_title["Fan Intensity History"]["gridPos"] == {"h": 6, "w": 6, "x": 9, "y": 13} assert panels_by_title["Fan Intensity History"]["fieldConfig"]["defaults"]["max"] == 10 assert panels_by_title["Fan Intensity History"]["targets"][0]["legendFormat"] == "{{fan}}" + fan_steps = panels_by_title["Fan Intensity History"]["fieldConfig"]["defaults"]["thresholds"]["steps"] + assert {"color": "semi-dark-blue", "value": 1} in fan_steps + assert {"color": "semi-dark-green", "value": 4} in fan_steps + assert {"color": "semi-dark-red", "value": 9} in fan_steps assert panels_by_title["Flux Source"]["type"] == "stat" assert panels_by_title["Flux Source"]["gridPos"] == {"h": 2, "w": 3, "x": 21, "y": 7} @@ -110,6 +115,8 @@ def test_overview_uses_readable_quality_power_and_gitops_panels(): gitops_expr = panels_by_title["GitOps Health"]["targets"][0]["expr"] assert "Kustomizations Not Suspended" in gitops_expr assert "HelmReleases Not Suspended" in gitops_expr + assert panels_by_title["Gate Checks Passing by Suite"]["options"]["legend"]["displayMode"] == "hidden" + assert panels_by_title["Gate Checks Passing by Suite"]["options"]["rowHeight"] == 0.95 pvc_backup_expr = panels_by_title["PVC Backup Health / Age"]["targets"][0]["expr"] assert "backup-telemetry-missing" in pvc_backup_expr diff --git a/services/monitoring/dashboards/atlas-overview.json b/services/monitoring/dashboards/atlas-overview.json index 62b813aa..9334d3e6 100644 --- a/services/monitoring/dashboards/atlas-overview.json +++ b/services/monitoring/dashboards/atlas-overview.json @@ -1321,6 +1321,14 @@ "mode": "fixed", "fixedColor": "dark-blue" } + }, + { + "id": "custom.barAlignment", + "value": -1 + }, + { + "id": "custom.barWidthFactor", + "value": 0.42 } ] }, @@ -1336,6 +1344,14 @@ "mode": "fixed", "fixedColor": "dark-yellow" } + }, + { + "id": "custom.barAlignment", + "value": 1 + }, + { + "id": "custom.barWidthFactor", + "value": 0.42 } ] } @@ -1896,17 +1912,29 @@ "color": "dark-blue", "value": null }, + { + "color": "semi-dark-blue", + "value": 1 + }, { "color": "dark-green", - "value": 3 + "value": 2 + }, + { + "color": "semi-dark-green", + "value": 4 }, { "color": "dark-yellow", - "value": 6 + "value": 5 }, { "color": "dark-orange", - "value": 8 + "value": 7 + }, + { + "color": "semi-dark-red", + "value": 9 }, { "color": "dark-red", @@ -2759,13 +2787,14 @@ "mergeValues": true, "showValue": "never", "legend": { - "displayMode": "list", + "displayMode": "hidden", "placement": "bottom" }, "tooltip": { "mode": "single", "sort": "none" - } + }, + "rowHeight": 0.95 }, "links": [ { diff --git a/services/monitoring/grafana-dashboard-overview.yaml b/services/monitoring/grafana-dashboard-overview.yaml index 4f43f56f..171aeb1b 100644 --- a/services/monitoring/grafana-dashboard-overview.yaml +++ b/services/monitoring/grafana-dashboard-overview.yaml @@ -1330,6 +1330,14 @@ data: "mode": "fixed", "fixedColor": "dark-blue" } + }, + { + "id": "custom.barAlignment", + "value": -1 + }, + { + "id": "custom.barWidthFactor", + "value": 0.42 } ] }, @@ -1345,6 +1353,14 @@ data: "mode": "fixed", "fixedColor": "dark-yellow" } + }, + { + "id": "custom.barAlignment", + "value": 1 + }, + { + "id": "custom.barWidthFactor", + "value": 0.42 } ] } @@ -1905,17 +1921,29 @@ data: "color": "dark-blue", "value": null }, + { + "color": "semi-dark-blue", + "value": 1 + }, { "color": "dark-green", - "value": 3 + "value": 2 + }, + { + "color": "semi-dark-green", + "value": 4 }, { "color": "dark-yellow", - "value": 6 + "value": 5 }, { "color": "dark-orange", - "value": 8 + "value": 7 + }, + { + "color": "semi-dark-red", + "value": 9 }, { "color": "dark-red", @@ -2768,13 +2796,14 @@ data: "mergeValues": true, "showValue": "never", "legend": { - "displayMode": "list", + "displayMode": "hidden", "placement": "bottom" }, "tooltip": { "mode": "single", "sort": "none" - } + }, + "rowHeight": 0.95 }, "links": [ {