snapshot: include top pods with node
This commit is contained in:
parent
fe035b8fce
commit
3ffcfddb92
@ -945,7 +945,17 @@ def _append_namespace_io_net(lines: list[str], summary: dict[str, Any]) -> None:
|
|||||||
def _append_pod_usage(lines: list[str], summary: dict[str, Any]) -> None:
|
def _append_pod_usage(lines: list[str], summary: dict[str, Any]) -> None:
|
||||||
metrics = summary.get("metrics") if isinstance(summary.get("metrics"), dict) else {}
|
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 []
|
cpu_top = metrics.get("pod_cpu_top") if isinstance(metrics.get("pod_cpu_top"), list) else []
|
||||||
|
cpu_top_node = (
|
||||||
|
metrics.get("pod_cpu_top_node")
|
||||||
|
if isinstance(metrics.get("pod_cpu_top_node"), list)
|
||||||
|
else []
|
||||||
|
)
|
||||||
mem_top = metrics.get("pod_mem_top") if isinstance(metrics.get("pod_mem_top"), list) else []
|
mem_top = metrics.get("pod_mem_top") if isinstance(metrics.get("pod_mem_top"), list) else []
|
||||||
|
mem_top_node = (
|
||||||
|
metrics.get("pod_mem_top_node")
|
||||||
|
if isinstance(metrics.get("pod_mem_top_node"), list)
|
||||||
|
else []
|
||||||
|
)
|
||||||
if cpu_top:
|
if cpu_top:
|
||||||
parts = []
|
parts = []
|
||||||
for entry in cpu_top:
|
for entry in cpu_top:
|
||||||
@ -957,6 +967,18 @@ def _append_pod_usage(lines: list[str], summary: dict[str, Any]) -> None:
|
|||||||
parts.append(f"{namespace}/{pod}={_format_float(value)}")
|
parts.append(f"{namespace}/{pod}={_format_float(value)}")
|
||||||
if parts:
|
if parts:
|
||||||
lines.append("pod_cpu_top: " + "; ".join(parts))
|
lines.append("pod_cpu_top: " + "; ".join(parts))
|
||||||
|
if cpu_top_node:
|
||||||
|
parts = []
|
||||||
|
for entry in cpu_top_node:
|
||||||
|
metric = entry.get("metric") if isinstance(entry, dict) else {}
|
||||||
|
namespace = metric.get("namespace")
|
||||||
|
pod = metric.get("pod")
|
||||||
|
node = metric.get("node")
|
||||||
|
value = entry.get("value")
|
||||||
|
if namespace and pod and node and value is not None:
|
||||||
|
parts.append(f"{node}:{namespace}/{pod}={_format_float(value)}")
|
||||||
|
if parts:
|
||||||
|
lines.append("pod_cpu_top_node: " + "; ".join(parts))
|
||||||
if mem_top:
|
if mem_top:
|
||||||
parts = []
|
parts = []
|
||||||
for entry in mem_top:
|
for entry in mem_top:
|
||||||
@ -968,6 +990,18 @@ def _append_pod_usage(lines: list[str], summary: dict[str, Any]) -> None:
|
|||||||
parts.append(f"{namespace}/{pod}={_format_bytes(value)}")
|
parts.append(f"{namespace}/{pod}={_format_bytes(value)}")
|
||||||
if parts:
|
if parts:
|
||||||
lines.append("pod_mem_top: " + "; ".join(parts))
|
lines.append("pod_mem_top: " + "; ".join(parts))
|
||||||
|
if mem_top_node:
|
||||||
|
parts = []
|
||||||
|
for entry in mem_top_node:
|
||||||
|
metric = entry.get("metric") if isinstance(entry, dict) else {}
|
||||||
|
namespace = metric.get("namespace")
|
||||||
|
pod = metric.get("pod")
|
||||||
|
node = metric.get("node")
|
||||||
|
value = entry.get("value")
|
||||||
|
if namespace and pod and node and value is not None:
|
||||||
|
parts.append(f"{node}:{namespace}/{pod}={_format_bytes(value)}")
|
||||||
|
if parts:
|
||||||
|
lines.append("pod_mem_top_node: " + "; ".join(parts))
|
||||||
|
|
||||||
|
|
||||||
def _append_restarts(lines: list[str], summary: dict[str, Any]) -> None:
|
def _append_restarts(lines: list[str], summary: dict[str, Any]) -> None:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user