atlasbot: surface namespace request metrics

This commit is contained in:
Brad Stein 2026-01-29 03:05:06 -03:00
parent 91468a48b4
commit 520c8b644f

View File

@ -642,6 +642,32 @@ def _append_namespace_usage(lines: list[str], summary: dict[str, Any]) -> None:
lines.append("namespace_mem_top: " + "; ".join(parts))
def _append_namespace_requests(lines: list[str], summary: dict[str, Any]) -> None:
metrics = summary.get("metrics") if isinstance(summary.get("metrics"), dict) else {}
cpu_req = metrics.get("namespace_cpu_requests_top") if isinstance(metrics.get("namespace_cpu_requests_top"), list) else []
mem_req = metrics.get("namespace_mem_requests_top") if isinstance(metrics.get("namespace_mem_requests_top"), list) else []
if cpu_req:
parts = []
for entry in cpu_req:
metric = entry.get("metric") if isinstance(entry, dict) else {}
namespace = metric.get("namespace")
value = entry.get("value")
if namespace:
parts.append(f"{namespace}={_format_float(value)}")
if parts:
lines.append("namespace_cpu_requests_top: " + "; ".join(parts))
if mem_req:
parts = []
for entry in mem_req:
metric = entry.get("metric") if isinstance(entry, dict) else {}
namespace = metric.get("namespace")
value = entry.get("value")
if namespace:
parts.append(f"{namespace}={_format_bytes(value)}")
if parts:
lines.append("namespace_mem_requests_top: " + "; ".join(parts))
def _append_pod_usage(lines: list[str], summary: dict[str, Any]) -> None:
metrics = summary.get("metrics") if isinstance(summary.get("metrics"), dict) else {}
cpu_top = metrics.get("pod_cpu_top") if isinstance(metrics.get("pod_cpu_top"), list) else []
@ -808,6 +834,7 @@ def summary_text(snapshot: dict[str, Any] | None) -> str:
_append_events(lines, summary)
_append_node_usage_stats(lines, summary)
_append_namespace_usage(lines, summary)
_append_namespace_requests(lines, summary)
_append_pod_usage(lines, summary)
_append_restarts(lines, summary)
_append_job_failures(lines, summary)