-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
P2-mediumImportant ecosystem featureImportant ecosystem featurecompetitiveCloses gap with k9s or other competitorsCloses gap with k9s or other competitorsenhancementNew feature or requestNew feature or requestphase-4-polishEnterprise features and polishEnterprise features and polish
Milestone
Description
Summary
Display CPU and memory usage per pod/node by querying the Kubernetes metrics-server API.
Motivation
k9s shows real-time CPU/memory metrics. This is expected by users monitoring workloads. metrics-server is installed on most clusters (EKS, GKE, AKS all ship it by default).
Requirements
Metrics Source
- Query
metrics.k8s.io/v1beta1API via kube-rs - Pod metrics:
PodMetrics(cpu, memory per container) - Node metrics:
NodeMetrics(cpu, memory, capacity) - kube-rs has
kube::api::Api<PodMetrics>support
Display
- Optional columns:
CPUandMEM(e.g.,45m,128Mi) - Show as percentage of request/limit when available:
45m/100m (45%) - For nodes: show usage vs allocatable:
2.1/4 cores,6.2/8 Gi - Color: green (<70%), yellow (70-90%), red (>90%)
Config
[metrics]
enabled = true # default true — disable for clusters without metrics-server
refresh_interval_secs = 15 # how often to refresh metrics
show_percentage = true # show % of request/limitImplementation
- Create periodic metrics refresh task (separate from watcher)
- Store metrics in a
HashMap<(namespace, name), PodMetrics>shared viaArc<RwLock<>> - Merge metrics into
K8sItemdisplay at render time - Don't block item display waiting for metrics — show "-" until first fetch
Graceful Degradation
- If metrics-server not installed: API returns 404 → disable metrics silently
- Log: "metrics-server not available, disabling CPU/MEM columns"
- No column shown if no metrics data
Acceptance Criteria
- Pod CPU/memory displayed from metrics-server
- Node CPU/memory with capacity shown
- Color-coded usage levels
- Configurable refresh interval
- Graceful fallback when metrics-server unavailable
- Doesn't block or slow down resource listing
- Tests: mock metrics API response
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P2-mediumImportant ecosystem featureImportant ecosystem featurecompetitiveCloses gap with k9s or other competitorsCloses gap with k9s or other competitorsenhancementNew feature or requestNew feature or requestphase-4-polishEnterprise features and polishEnterprise features and polish