From d1b1687a92cf48f5bc4fc75c6f417d179eabd2d8 Mon Sep 17 00:00:00 2001 From: Brad Stein Date: Thu, 29 Jan 2026 03:04:42 -0300 Subject: [PATCH] atlasbot: add namespace request metrics --- ariadne/services/cluster_state.py | 12 ++++++++++++ tests/test_cluster_state.py | 2 ++ 2 files changed, 14 insertions(+) diff --git a/ariadne/services/cluster_state.py b/ariadne/services/cluster_state.py index 53cf371..7d17fd0 100644 --- a/ariadne/services/cluster_state.py +++ b/ariadne/services/cluster_state.py @@ -1122,6 +1122,16 @@ def _summarize_metrics(errors: list[str]) -> dict[str, Any]: "topk(5, sum by (namespace) (container_memory_working_set_bytes{namespace!=\"\"}))" ) ) + metrics["namespace_cpu_requests_top"] = _filter_namespace_vector( + _vm_vector( + "topk(5, sum by (namespace) (kube_pod_container_resource_requests_cpu_cores))" + ) + ) + metrics["namespace_mem_requests_top"] = _filter_namespace_vector( + _vm_vector( + "topk(5, sum by (namespace) (kube_pod_container_resource_requests_memory_bytes))" + ) + ) except Exception as exc: errors.append(f"namespace_usage: {exc}") metrics["pvc_usage_top"] = _pvc_usage(errors) @@ -1137,6 +1147,8 @@ def _summarize_metrics(errors: list[str]) -> dict[str, Any]: "job_failures_24h": "count", "namespace_cpu": "cores", "namespace_mem": "bytes", + "namespace_cpu_requests": "cores", + "namespace_mem_requests": "bytes", "pvc_used_percent": "percent", "capacity_cpu": "cores", "allocatable_cpu": "cores", diff --git a/tests/test_cluster_state.py b/tests/test_cluster_state.py index 89d92ba..2f56731 100644 --- a/tests/test_cluster_state.py +++ b/tests/test_cluster_state.py @@ -129,6 +129,8 @@ def test_collect_cluster_state(monkeypatch) -> None: assert "node_usage_stats" in snapshot["metrics"] assert snapshot["metrics"]["namespace_cpu_top"] == [] assert snapshot["metrics"]["namespace_mem_top"] == [] + assert snapshot["metrics"]["namespace_cpu_requests_top"] == [] + assert snapshot["metrics"]["namespace_mem_requests_top"] == [] assert snapshot["metrics"]["pod_cpu_top"] == [] assert snapshot["metrics"]["pod_mem_top"] == [] assert snapshot["metrics"]["job_failures_24h"] == []