Deduplicate namespace plurality rows with ranked tie-break

This commit is contained in:
Brad Stein 2025-12-13 18:39:31 -03:00
parent 9ad5f7f405
commit 4812958e82
3 changed files with 8 additions and 8 deletions

View File

@ -1198,18 +1198,18 @@ def build_pods_dashboard():
'/ on(namespace) group_left() clamp_min(sum by (namespace) (kube_pod_info{pod!=""}), 1) * 100)'
)
rank_expr = " + ".join(
f"(sum by (node) (kube_node_info{{node=\"{node}\"}}) * 1e-6 * {idx})"
f"(sum by (node) (kube_node_info{{node=\"{node}\"}}) * 1e-3 * {idx})"
for idx, node in enumerate(CONTROL_ALL + WORKER_NODES, start=1)
)
score_expr = f"{share_expr} + on(node) group_left() ({rank_expr})"
mask_expr = (
f"{share_expr} == bool on(namespace) group_left() "
f"(max by (namespace) ({share_expr}))"
f"{score_expr} == bool on(namespace) group_left() "
f"(max by (namespace) ({score_expr}))"
)
panels.append(
table_panel(
10,
"Namespace Plurality by Node v24",
"Namespace Plurality by Node v25",
(
f"{share_expr} * on(namespace,node) group_left() "
f"({mask_expr})"

View File

@ -507,7 +507,7 @@
{
"id": 10,
"type": "table",
"title": "Namespace Plurality by Node v24",
"title": "Namespace Plurality by Node v25",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
@ -520,7 +520,7 @@
},
"targets": [
{
"expr": "(sum by (namespace,node) (kube_pod_info{pod!=\"\" , node!=\"\"}) / on(namespace) group_left() clamp_min(sum by (namespace) (kube_pod_info{pod!=\"\"}), 1) * 100) * on(namespace,node) group_left() ((sum by (namespace,node) (kube_pod_info{pod!=\"\" , node!=\"\"}) / 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!=\"\" , node!=\"\"}) / on(namespace) group_left() clamp_min(sum by (namespace) (kube_pod_info{pod!=\"\"}), 1) * 100))))",
"expr": "(sum by (namespace,node) (kube_pod_info{pod!=\"\" , node!=\"\"}) / on(namespace) group_left() clamp_min(sum by (namespace) (kube_pod_info{pod!=\"\"}), 1) * 100) * on(namespace,node) group_left() ((sum by (namespace,node) (kube_pod_info{pod!=\"\" , node!=\"\"}) / on(namespace) group_left() clamp_min(sum by (namespace) (kube_pod_info{pod!=\"\"}), 1) * 100) + on(node) group_left() ((sum by (node) (kube_node_info{node=\"titan-0a\"}) * 1e-3 * 1) + (sum by (node) (kube_node_info{node=\"titan-0b\"}) * 1e-3 * 2) + (sum by (node) (kube_node_info{node=\"titan-0c\"}) * 1e-3 * 3) + (sum by (node) (kube_node_info{node=\"titan-db\"}) * 1e-3 * 4) + (sum by (node) (kube_node_info{node=\"titan-04\"}) * 1e-3 * 5) + (sum by (node) (kube_node_info{node=\"titan-05\"}) * 1e-3 * 6) + (sum by (node) (kube_node_info{node=\"titan-06\"}) * 1e-3 * 7) + (sum by (node) (kube_node_info{node=\"titan-07\"}) * 1e-3 * 8) + (sum by (node) (kube_node_info{node=\"titan-08\"}) * 1e-3 * 9) + (sum by (node) (kube_node_info{node=\"titan-09\"}) * 1e-3 * 10) + (sum by (node) (kube_node_info{node=\"titan-10\"}) * 1e-3 * 11) + (sum by (node) (kube_node_info{node=\"titan-11\"}) * 1e-3 * 12) + (sum by (node) (kube_node_info{node=\"titan-12\"}) * 1e-3 * 13) + (sum by (node) (kube_node_info{node=\"titan-13\"}) * 1e-3 * 14) + (sum by (node) (kube_node_info{node=\"titan-14\"}) * 1e-3 * 15) + (sum by (node) (kube_node_info{node=\"titan-15\"}) * 1e-3 * 16) + (sum by (node) (kube_node_info{node=\"titan-16\"}) * 1e-3 * 17) + (sum by (node) (kube_node_info{node=\"titan-17\"}) * 1e-3 * 18) + (sum by (node) (kube_node_info{node=\"titan-18\"}) * 1e-3 * 19) + (sum by (node) (kube_node_info{node=\"titan-19\"}) * 1e-3 * 20) + (sum by (node) (kube_node_info{node=\"titan-22\"}) * 1e-3 * 21) + (sum by (node) (kube_node_info{node=\"titan-24\"}) * 1e-3 * 22)) == bool on(namespace) group_left() (max by (namespace) ((sum by (namespace,node) (kube_pod_info{pod!=\"\" , node!=\"\"}) / on(namespace) group_left() clamp_min(sum by (namespace) (kube_pod_info{pod!=\"\"}), 1) * 100) + on(node) group_left() ((sum by (node) (kube_node_info{node=\"titan-0a\"}) * 1e-3 * 1) + (sum by (node) (kube_node_info{node=\"titan-0b\"}) * 1e-3 * 2) + (sum by (node) (kube_node_info{node=\"titan-0c\"}) * 1e-3 * 3) + (sum by (node) (kube_node_info{node=\"titan-db\"}) * 1e-3 * 4) + (sum by (node) (kube_node_info{node=\"titan-04\"}) * 1e-3 * 5) + (sum by (node) (kube_node_info{node=\"titan-05\"}) * 1e-3 * 6) + (sum by (node) (kube_node_info{node=\"titan-06\"}) * 1e-3 * 7) + (sum by (node) (kube_node_info{node=\"titan-07\"}) * 1e-3 * 8) + (sum by (node) (kube_node_info{node=\"titan-08\"}) * 1e-3 * 9) + (sum by (node) (kube_node_info{node=\"titan-09\"}) * 1e-3 * 10) + (sum by (node) (kube_node_info{node=\"titan-10\"}) * 1e-3 * 11) + (sum by (node) (kube_node_info{node=\"titan-11\"}) * 1e-3 * 12) + (sum by (node) (kube_node_info{node=\"titan-12\"}) * 1e-3 * 13) + (sum by (node) (kube_node_info{node=\"titan-13\"}) * 1e-3 * 14) + (sum by (node) (kube_node_info{node=\"titan-14\"}) * 1e-3 * 15) + (sum by (node) (kube_node_info{node=\"titan-15\"}) * 1e-3 * 16) + (sum by (node) (kube_node_info{node=\"titan-16\"}) * 1e-3 * 17) + (sum by (node) (kube_node_info{node=\"titan-17\"}) * 1e-3 * 18) + (sum by (node) (kube_node_info{node=\"titan-18\"}) * 1e-3 * 19) + (sum by (node) (kube_node_info{node=\"titan-19\"}) * 1e-3 * 20) + (sum by (node) (kube_node_info{node=\"titan-22\"}) * 1e-3 * 21) + (sum by (node) (kube_node_info{node=\"titan-24\"}) * 1e-3 * 22)))))",
"refId": "A",
"instant": true,
"format": "table"

View File

@ -516,7 +516,7 @@ data:
{
"id": 10,
"type": "table",
"title": "Namespace Plurality by Node v24",
"title": "Namespace Plurality by Node v25",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
@ -529,7 +529,7 @@ data:
},
"targets": [
{
"expr": "(sum by (namespace,node) (kube_pod_info{pod!=\"\" , node!=\"\"}) / on(namespace) group_left() clamp_min(sum by (namespace) (kube_pod_info{pod!=\"\"}), 1) * 100) * on(namespace,node) group_left() ((sum by (namespace,node) (kube_pod_info{pod!=\"\" , node!=\"\"}) / 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!=\"\" , node!=\"\"}) / on(namespace) group_left() clamp_min(sum by (namespace) (kube_pod_info{pod!=\"\"}), 1) * 100))))",
"expr": "(sum by (namespace,node) (kube_pod_info{pod!=\"\" , node!=\"\"}) / on(namespace) group_left() clamp_min(sum by (namespace) (kube_pod_info{pod!=\"\"}), 1) * 100) * on(namespace,node) group_left() ((sum by (namespace,node) (kube_pod_info{pod!=\"\" , node!=\"\"}) / on(namespace) group_left() clamp_min(sum by (namespace) (kube_pod_info{pod!=\"\"}), 1) * 100) + on(node) group_left() ((sum by (node) (kube_node_info{node=\"titan-0a\"}) * 1e-3 * 1) + (sum by (node) (kube_node_info{node=\"titan-0b\"}) * 1e-3 * 2) + (sum by (node) (kube_node_info{node=\"titan-0c\"}) * 1e-3 * 3) + (sum by (node) (kube_node_info{node=\"titan-db\"}) * 1e-3 * 4) + (sum by (node) (kube_node_info{node=\"titan-04\"}) * 1e-3 * 5) + (sum by (node) (kube_node_info{node=\"titan-05\"}) * 1e-3 * 6) + (sum by (node) (kube_node_info{node=\"titan-06\"}) * 1e-3 * 7) + (sum by (node) (kube_node_info{node=\"titan-07\"}) * 1e-3 * 8) + (sum by (node) (kube_node_info{node=\"titan-08\"}) * 1e-3 * 9) + (sum by (node) (kube_node_info{node=\"titan-09\"}) * 1e-3 * 10) + (sum by (node) (kube_node_info{node=\"titan-10\"}) * 1e-3 * 11) + (sum by (node) (kube_node_info{node=\"titan-11\"}) * 1e-3 * 12) + (sum by (node) (kube_node_info{node=\"titan-12\"}) * 1e-3 * 13) + (sum by (node) (kube_node_info{node=\"titan-13\"}) * 1e-3 * 14) + (sum by (node) (kube_node_info{node=\"titan-14\"}) * 1e-3 * 15) + (sum by (node) (kube_node_info{node=\"titan-15\"}) * 1e-3 * 16) + (sum by (node) (kube_node_info{node=\"titan-16\"}) * 1e-3 * 17) + (sum by (node) (kube_node_info{node=\"titan-17\"}) * 1e-3 * 18) + (sum by (node) (kube_node_info{node=\"titan-18\"}) * 1e-3 * 19) + (sum by (node) (kube_node_info{node=\"titan-19\"}) * 1e-3 * 20) + (sum by (node) (kube_node_info{node=\"titan-22\"}) * 1e-3 * 21) + (sum by (node) (kube_node_info{node=\"titan-24\"}) * 1e-3 * 22)) == bool on(namespace) group_left() (max by (namespace) ((sum by (namespace,node) (kube_pod_info{pod!=\"\" , node!=\"\"}) / on(namespace) group_left() clamp_min(sum by (namespace) (kube_pod_info{pod!=\"\"}), 1) * 100) + on(node) group_left() ((sum by (node) (kube_node_info{node=\"titan-0a\"}) * 1e-3 * 1) + (sum by (node) (kube_node_info{node=\"titan-0b\"}) * 1e-3 * 2) + (sum by (node) (kube_node_info{node=\"titan-0c\"}) * 1e-3 * 3) + (sum by (node) (kube_node_info{node=\"titan-db\"}) * 1e-3 * 4) + (sum by (node) (kube_node_info{node=\"titan-04\"}) * 1e-3 * 5) + (sum by (node) (kube_node_info{node=\"titan-05\"}) * 1e-3 * 6) + (sum by (node) (kube_node_info{node=\"titan-06\"}) * 1e-3 * 7) + (sum by (node) (kube_node_info{node=\"titan-07\"}) * 1e-3 * 8) + (sum by (node) (kube_node_info{node=\"titan-08\"}) * 1e-3 * 9) + (sum by (node) (kube_node_info{node=\"titan-09\"}) * 1e-3 * 10) + (sum by (node) (kube_node_info{node=\"titan-10\"}) * 1e-3 * 11) + (sum by (node) (kube_node_info{node=\"titan-11\"}) * 1e-3 * 12) + (sum by (node) (kube_node_info{node=\"titan-12\"}) * 1e-3 * 13) + (sum by (node) (kube_node_info{node=\"titan-13\"}) * 1e-3 * 14) + (sum by (node) (kube_node_info{node=\"titan-14\"}) * 1e-3 * 15) + (sum by (node) (kube_node_info{node=\"titan-15\"}) * 1e-3 * 16) + (sum by (node) (kube_node_info{node=\"titan-16\"}) * 1e-3 * 17) + (sum by (node) (kube_node_info{node=\"titan-17\"}) * 1e-3 * 18) + (sum by (node) (kube_node_info{node=\"titan-18\"}) * 1e-3 * 19) + (sum by (node) (kube_node_info{node=\"titan-19\"}) * 1e-3 * 20) + (sum by (node) (kube_node_info{node=\"titan-22\"}) * 1e-3 * 21) + (sum by (node) (kube_node_info{node=\"titan-24\"}) * 1e-3 * 22)))))",
"refId": "A",
"instant": true,
"format": "table"