From 6eee7b8853a2ca2a32639dcf5cca5a313eb6e991 Mon Sep 17 00:00:00 2001 From: Brad Stein Date: Sat, 13 Dec 2025 13:39:06 -0300 Subject: [PATCH] atlas pods: drop non-leading nodes in plurality table --- scripts/dashboards_render_atlas.py | 10 ++++------ services/monitoring/dashboards/atlas-pods.json | 10 +++++++++- services/monitoring/grafana-dashboard-pods.yaml | 10 +++++++++- 3 files changed, 22 insertions(+), 8 deletions(-) diff --git a/scripts/dashboards_render_atlas.py b/scripts/dashboards_render_atlas.py index 4878d07..1c86777 100644 --- a/scripts/dashboards_render_atlas.py +++ b/scripts/dashboards_render_atlas.py @@ -1178,21 +1178,19 @@ def build_pods_dashboard(): 10, "Namespace Plurality by Node", ( - "(" - " {share}" - " * on(namespace) group_left(node)" - " ({share} == bool on(namespace) group_left() (max by (namespace) ({share})))" - ") * 100" + "{share} * " + "({share} == bool on(namespace) group_left() (max by (namespace) ({share})))" ).format( share=( "(sum by (namespace,node) (kube_pod_info{pod!=\"\"}) " - "/ ignoring(node) clamp_min(sum by (namespace) (kube_pod_info{pod!=\"\"}), 1))" + "/ on(namespace) group_left() clamp_min(sum by (namespace) (kube_pod_info{pod!=\"\"}), 1) * 100)" ) ), {"h": 8, "w": 24, "x": 0, "y": 42}, unit="percent", transformations=[ {"id": "labelsToFields", "options": {}}, + {"id": "filterByValue", "options": {"match": "Value", "operator": "gt", "value": 0}}, {"id": "sortBy", "options": {"fields": ["node", "Value"], "order": "asc"}}, ], instant=True, diff --git a/services/monitoring/dashboards/atlas-pods.json b/services/monitoring/dashboards/atlas-pods.json index 8416b55..6e060c5 100644 --- a/services/monitoring/dashboards/atlas-pods.json +++ b/services/monitoring/dashboards/atlas-pods.json @@ -508,7 +508,7 @@ }, "targets": [ { - "expr": "( (sum by (namespace,node) (kube_pod_info{pod!=\"\"}) / ignoring(node) clamp_min(sum by (namespace) (kube_pod_info{pod!=\"\"}), 1)) * on(namespace) group_left(node) ((sum by (namespace,node) (kube_pod_info{pod!=\"\"}) / ignoring(node) clamp_min(sum by (namespace) (kube_pod_info{pod!=\"\"}), 1)) == bool on(namespace) group_left() (max by (namespace) ((sum by (namespace,node) (kube_pod_info{pod!=\"\"}) / ignoring(node) clamp_min(sum by (namespace) (kube_pod_info{pod!=\"\"}), 1)))))) * 100", + "expr": "(sum by (namespace,node) (kube_pod_info{pod!=\"\"}) / on(namespace) group_left() clamp_min(sum by (namespace) (kube_pod_info{pod!=\"\"}), 1) * 100) * ((sum by (namespace,node) (kube_pod_info{pod!=\"\"}) / on(namespace) group_left() clamp_min(sum by (namespace) (kube_pod_info{pod!=\"\"}), 1) * 100) == bool on(namespace) group_left() (max by (namespace) ((sum by (namespace,node) (kube_pod_info{pod!=\"\"}) / on(namespace) group_left() clamp_min(sum by (namespace) (kube_pod_info{pod!=\"\"}), 1) * 100))))", "refId": "A", "instant": true } @@ -527,6 +527,14 @@ "id": "labelsToFields", "options": {} }, + { + "id": "filterByValue", + "options": { + "match": "Value", + "operator": "gt", + "value": 0 + } + }, { "id": "sortBy", "options": { diff --git a/services/monitoring/grafana-dashboard-pods.yaml b/services/monitoring/grafana-dashboard-pods.yaml index 63cad9e..b7352af 100644 --- a/services/monitoring/grafana-dashboard-pods.yaml +++ b/services/monitoring/grafana-dashboard-pods.yaml @@ -517,7 +517,7 @@ data: }, "targets": [ { - "expr": "( (sum by (namespace,node) (kube_pod_info{pod!=\"\"}) / ignoring(node) clamp_min(sum by (namespace) (kube_pod_info{pod!=\"\"}), 1)) * on(namespace) group_left(node) ((sum by (namespace,node) (kube_pod_info{pod!=\"\"}) / ignoring(node) clamp_min(sum by (namespace) (kube_pod_info{pod!=\"\"}), 1)) == bool on(namespace) group_left() (max by (namespace) ((sum by (namespace,node) (kube_pod_info{pod!=\"\"}) / ignoring(node) clamp_min(sum by (namespace) (kube_pod_info{pod!=\"\"}), 1)))))) * 100", + "expr": "(sum by (namespace,node) (kube_pod_info{pod!=\"\"}) / on(namespace) group_left() clamp_min(sum by (namespace) (kube_pod_info{pod!=\"\"}), 1) * 100) * ((sum by (namespace,node) (kube_pod_info{pod!=\"\"}) / on(namespace) group_left() clamp_min(sum by (namespace) (kube_pod_info{pod!=\"\"}), 1) * 100) == bool on(namespace) group_left() (max by (namespace) ((sum by (namespace,node) (kube_pod_info{pod!=\"\"}) / on(namespace) group_left() clamp_min(sum by (namespace) (kube_pod_info{pod!=\"\"}), 1) * 100))))", "refId": "A", "instant": true } @@ -536,6 +536,14 @@ data: "id": "labelsToFields", "options": {} }, + { + "id": "filterByValue", + "options": { + "match": "Value", + "operator": "gt", + "value": 0 + } + }, { "id": "sortBy", "options": {