diff --git a/scripts/dashboards_render_atlas.py b/scripts/dashboards_render_atlas.py index 4b45fcd1..cb7e32cc 100644 --- a/scripts/dashboards_render_atlas.py +++ b/scripts/dashboards_render_atlas.py @@ -730,11 +730,11 @@ ANANKE_UPS_DRAW_WATTS_TETHYS = ( f'* ananke_ups_power_nominal_watts{{{ANANKE_UPS_TETHYS_SELECTOR}}}) / 100) or on() vector(0)' ) ANANKE_UPS_DRAW_WATTS_DB_SERIES = ( - f'((ananke_ups_load_percent{{{ANANKE_UPS_DB_SELECTOR}}} ' + f'max((ananke_ups_load_percent{{{ANANKE_UPS_DB_SELECTOR}}} ' f'* ananke_ups_power_nominal_watts{{{ANANKE_UPS_DB_SELECTOR}}}) / 100)' ) ANANKE_UPS_DRAW_WATTS_TETHYS_SERIES = ( - f'((ananke_ups_load_percent{{{ANANKE_UPS_TETHYS_SELECTOR}}} ' + f'max((ananke_ups_load_percent{{{ANANKE_UPS_TETHYS_SELECTOR}}} ' f'* ananke_ups_power_nominal_watts{{{ANANKE_UPS_TETHYS_SELECTOR}}}) / 100)' ) ANANKE_UPS_RUNTIME_BY_SOURCE = f"ananke_ups_runtime_seconds{{{ANANKE_SELECTOR}}}" @@ -1932,7 +1932,7 @@ def build_overview(): "drawStyle": "line", "lineInterpolation": "linear", "lineWidth": 2, - "fillOpacity": 18, + "fillOpacity": 0, "showPoints": "never", "spanNulls": True, } @@ -2225,7 +2225,7 @@ 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"]["legend"] = {"displayMode": "list", "placement": "bottom"} panels[-1]["options"]["mergeValues"] = False panels[-1]["options"]["showValue"] = "auto" for panel_id, title, metric, x_pos, description in [ diff --git a/scripts/tests/test_dashboards_render_atlas.py b/scripts/tests/test_dashboards_render_atlas.py index 3edc32df..3eb6a746 100644 --- a/scripts/tests/test_dashboards_render_atlas.py +++ b/scripts/tests/test_dashboards_render_atlas.py @@ -82,7 +82,8 @@ def test_overview_uses_readable_quality_power_and_gitops_panels(): assert panels_by_title["UPS History (Power Draw)"]["options"]["legend"]["placement"] == "bottom" assert panels_by_title["UPS History (Power Draw)"]["options"]["legend"]["displayMode"] == "list" assert panels_by_title["UPS History (Power Draw)"]["fieldConfig"]["defaults"]["custom"]["drawStyle"] == "line" - assert panels_by_title["UPS History (Power Draw)"]["fieldConfig"]["defaults"]["custom"]["fillOpacity"] == 18 + assert panels_by_title["UPS History (Power Draw)"]["fieldConfig"]["defaults"]["custom"]["fillOpacity"] == 0 + assert all(target["expr"].startswith("max(") for target in panels_by_title["UPS History (Power Draw)"]["targets"]) ups_overrides = panels_by_title["UPS History (Power Draw)"]["fieldConfig"]["overrides"] ups_override_by_name = {override["matcher"]["options"]: override for override in ups_overrides} assert ups_override_by_name["Pyrphoros"]["properties"] == [ @@ -119,7 +120,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"]["legend"]["displayMode"] == "list" + assert panels_by_title["Gate Checks Passing by Suite"]["options"]["legend"]["placement"] == "bottom" assert panels_by_title["Gate Checks Passing by Suite"]["options"]["mergeValues"] is False assert panels_by_title["Gate Checks Passing by Suite"]["options"]["showValue"] == "auto" assert "rowHeight" not in panels_by_title["Gate Checks Passing by Suite"]["options"] diff --git a/services/monitoring/dashboards/atlas-overview.json b/services/monitoring/dashboards/atlas-overview.json index 5c7355c1..4891f9e8 100644 --- a/services/monitoring/dashboards/atlas-overview.json +++ b/services/monitoring/dashboards/atlas-overview.json @@ -1285,12 +1285,12 @@ "targets": [ { "refId": "A", - "expr": "((ananke_ups_load_percent{job=\"ananke-power\",source=\"Pyrphoros\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Pyrphoros\"}) / 100)", + "expr": "max((ananke_ups_load_percent{job=\"ananke-power\",source=\"Pyrphoros\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Pyrphoros\"}) / 100)", "legendFormat": "Pyrphoros" }, { "refId": "B", - "expr": "((ananke_ups_load_percent{job=\"ananke-power\",source=\"Statera\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Statera\"}) / 100)", + "expr": "max((ananke_ups_load_percent{job=\"ananke-power\",source=\"Statera\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Statera\"}) / 100)", "legendFormat": "Statera" } ], @@ -1301,7 +1301,7 @@ "drawStyle": "line", "lineInterpolation": "linear", "lineWidth": 2, - "fillOpacity": 18, + "fillOpacity": 0, "showPoints": "never", "spanNulls": true } @@ -2781,7 +2781,7 @@ "mergeValues": false, "showValue": "auto", "legend": { - "displayMode": "hidden", + "displayMode": "list", "placement": "bottom" }, "tooltip": { diff --git a/services/monitoring/dashboards/atlas-power.json b/services/monitoring/dashboards/atlas-power.json index 521a5a4d..f5ad7375 100644 --- a/services/monitoring/dashboards/atlas-power.json +++ b/services/monitoring/dashboards/atlas-power.json @@ -238,12 +238,12 @@ "targets": [ { "refId": "A", - "expr": "((ananke_ups_load_percent{job=\"ananke-power\",source=\"Pyrphoros\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Pyrphoros\"}) / 100)", + "expr": "max((ananke_ups_load_percent{job=\"ananke-power\",source=\"Pyrphoros\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Pyrphoros\"}) / 100)", "legendFormat": "Pyrphoros" }, { "refId": "B", - "expr": "((ananke_ups_load_percent{job=\"ananke-power\",source=\"Statera\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Statera\"}) / 100)", + "expr": "max((ananke_ups_load_percent{job=\"ananke-power\",source=\"Statera\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Statera\"}) / 100)", "legendFormat": "Statera" } ], diff --git a/services/monitoring/grafana-dashboard-overview.yaml b/services/monitoring/grafana-dashboard-overview.yaml index 546d52a8..34c89070 100644 --- a/services/monitoring/grafana-dashboard-overview.yaml +++ b/services/monitoring/grafana-dashboard-overview.yaml @@ -1294,12 +1294,12 @@ data: "targets": [ { "refId": "A", - "expr": "((ananke_ups_load_percent{job=\"ananke-power\",source=\"Pyrphoros\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Pyrphoros\"}) / 100)", + "expr": "max((ananke_ups_load_percent{job=\"ananke-power\",source=\"Pyrphoros\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Pyrphoros\"}) / 100)", "legendFormat": "Pyrphoros" }, { "refId": "B", - "expr": "((ananke_ups_load_percent{job=\"ananke-power\",source=\"Statera\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Statera\"}) / 100)", + "expr": "max((ananke_ups_load_percent{job=\"ananke-power\",source=\"Statera\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Statera\"}) / 100)", "legendFormat": "Statera" } ], @@ -1310,7 +1310,7 @@ data: "drawStyle": "line", "lineInterpolation": "linear", "lineWidth": 2, - "fillOpacity": 18, + "fillOpacity": 0, "showPoints": "never", "spanNulls": true } @@ -2790,7 +2790,7 @@ data: "mergeValues": false, "showValue": "auto", "legend": { - "displayMode": "hidden", + "displayMode": "list", "placement": "bottom" }, "tooltip": { diff --git a/services/monitoring/grafana-dashboard-power.yaml b/services/monitoring/grafana-dashboard-power.yaml index 858cf699..b04088a4 100644 --- a/services/monitoring/grafana-dashboard-power.yaml +++ b/services/monitoring/grafana-dashboard-power.yaml @@ -247,12 +247,12 @@ data: "targets": [ { "refId": "A", - "expr": "((ananke_ups_load_percent{job=\"ananke-power\",source=\"Pyrphoros\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Pyrphoros\"}) / 100)", + "expr": "max((ananke_ups_load_percent{job=\"ananke-power\",source=\"Pyrphoros\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Pyrphoros\"}) / 100)", "legendFormat": "Pyrphoros" }, { "refId": "B", - "expr": "((ananke_ups_load_percent{job=\"ananke-power\",source=\"Statera\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Statera\"}) / 100)", + "expr": "max((ananke_ups_load_percent{job=\"ananke-power\",source=\"Statera\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Statera\"}) / 100)", "legendFormat": "Statera" } ],