From e67236af9a485e20242a558559a24fee8e210d9c Mon Sep 17 00:00:00 2001 From: Parthiba-Hazra Date: Wed, 1 Apr 2026 20:59:57 +0530 Subject: [PATCH 1/2] broadcast network metrics also --- internal/server/mpa_server.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/internal/server/mpa_server.go b/internal/server/mpa_server.go index 80347ae8..af5de843 100644 --- a/internal/server/mpa_server.go +++ b/internal/server/mpa_server.go @@ -297,6 +297,9 @@ func (sm *SubscriptionManager) Broadcast(data *collector.ContainerMetricsSnapsho MemoryLimitBytes: data.MemoryLimitBytes, // CPU throttle fraction from CFS bandwidth controller CpuThrottleFraction: data.CpuThrottledFraction, + // Network metrics (bytes/sec from Prometheus rate queries) + NetworkReceiveBytesPerSec: int64(data.NetworkReceiveBytes), + NetworkTransmitBytesPerSec: int64(data.NetworkTransmitBytes), } batch := &gen.ContainerMetricsBatch{ From 9ca7ce860efc8d90cdb14cf0bc9871f47ac9507a Mon Sep 17 00:00:00 2001 From: Parthiba-Hazra Date: Fri, 3 Apr 2026 20:59:48 +0530 Subject: [PATCH 2/2] configure prometheus to collect cpu throttle metrics also --- config/prometheus/hack.prometheus.values.yaml | 2 +- dist/backend-install.yaml | 2 +- dist/install.yaml | 2 +- dist/installer_updater.yaml | 2 +- dist/prometheus.yaml | 2 +- helm-chart/zxporter/templates/prometheus-configmap.yaml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/config/prometheus/hack.prometheus.values.yaml b/config/prometheus/hack.prometheus.values.yaml index 74c74eba..00a01da0 100644 --- a/config/prometheus/hack.prometheus.values.yaml +++ b/config/prometheus/hack.prometheus.values.yaml @@ -220,7 +220,7 @@ serverFiles: metric_relabel_configs: # Keep only the specific metrics we need for network I/O monitoring - source_labels: [__name__] - regex: "container_network_(receive|transmit)_(bytes|packets|errors|packets_dropped)_total|container_fs_(reads|writes)_(bytes_)?total|kubelet_volume_stats_(used|capacity|available)_bytes" + regex: "container_network_(receive|transmit)_(bytes|packets|errors|packets_dropped)_total|container_fs_(reads|writes)_(bytes_)?total|kubelet_volume_stats_(used|capacity|available)_bytes|container_cpu_cfs_(throttled_)?periods_total" action: keep # Drop all other container metrics (saves ~90% of cAdvisor metrics) # Drop high-cardinality labels we don't use diff --git a/dist/backend-install.yaml b/dist/backend-install.yaml index 44bfb308..2d54a3c4 100644 --- a/dist/backend-install.yaml +++ b/dist/backend-install.yaml @@ -108,7 +108,7 @@ data: - role: node metric_relabel_configs: - action: keep - regex: container_network_(receive|transmit)_(bytes|packets|errors|packets_dropped)_total|container_fs_(reads|writes)_(bytes_)?total|kubelet_volume_stats_(used|capacity|available)_bytes + regex: container_network_(receive|transmit)_(bytes|packets|errors|packets_dropped)_total|container_fs_(reads|writes)_(bytes_)?total|kubelet_volume_stats_(used|capacity|available)_bytes|container_cpu_cfs_(throttled_)?periods_total source_labels: - __name__ - action: labeldrop diff --git a/dist/install.yaml b/dist/install.yaml index 04e61b48..6de4b7c4 100644 --- a/dist/install.yaml +++ b/dist/install.yaml @@ -109,7 +109,7 @@ data: - role: node metric_relabel_configs: - action: keep - regex: container_network_(receive|transmit)_(bytes|packets|errors|packets_dropped)_total|container_fs_(reads|writes)_(bytes_)?total|kubelet_volume_stats_(used|capacity|available)_bytes + regex: container_network_(receive|transmit)_(bytes|packets|errors|packets_dropped)_total|container_fs_(reads|writes)_(bytes_)?total|kubelet_volume_stats_(used|capacity|available)_bytes|container_cpu_cfs_(throttled_)?periods_total source_labels: - __name__ - action: labeldrop diff --git a/dist/installer_updater.yaml b/dist/installer_updater.yaml index c14d7841..080b0911 100644 --- a/dist/installer_updater.yaml +++ b/dist/installer_updater.yaml @@ -108,7 +108,7 @@ data: - role: node metric_relabel_configs: - action: keep - regex: container_network_(receive|transmit)_(bytes|packets|errors|packets_dropped)_total|container_fs_(reads|writes)_(bytes_)?total|kubelet_volume_stats_(used|capacity|available)_bytes + regex: container_network_(receive|transmit)_(bytes|packets|errors|packets_dropped)_total|container_fs_(reads|writes)_(bytes_)?total|kubelet_volume_stats_(used|capacity|available)_bytes|container_cpu_cfs_(throttled_)?periods_total source_labels: - __name__ - action: labeldrop diff --git a/dist/prometheus.yaml b/dist/prometheus.yaml index 1f5d2aee..d9646537 100644 --- a/dist/prometheus.yaml +++ b/dist/prometheus.yaml @@ -93,7 +93,7 @@ data: - role: node metric_relabel_configs: - action: keep - regex: container_network_(receive|transmit)_(bytes|packets|errors|packets_dropped)_total|container_fs_(reads|writes)_(bytes_)?total|kubelet_volume_stats_(used|capacity|available)_bytes + regex: container_network_(receive|transmit)_(bytes|packets|errors|packets_dropped)_total|container_fs_(reads|writes)_(bytes_)?total|kubelet_volume_stats_(used|capacity|available)_bytes|container_cpu_cfs_(throttled_)?periods_total source_labels: - __name__ - action: labeldrop diff --git a/helm-chart/zxporter/templates/prometheus-configmap.yaml b/helm-chart/zxporter/templates/prometheus-configmap.yaml index 9c66428a..cd0dcb5c 100644 --- a/helm-chart/zxporter/templates/prometheus-configmap.yaml +++ b/helm-chart/zxporter/templates/prometheus-configmap.yaml @@ -75,7 +75,7 @@ data: ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt metric_relabel_configs: - action: keep - regex: 'container_network_(receive|transmit)_(bytes|packets|errors|packets_dropped)_total|container_fs_(reads|writes)_(bytes_)?total|kubelet_volume_stats_(used|capacity|available)_bytes' + regex: 'container_network_(receive|transmit)_(bytes|packets|errors|packets_dropped)_total|container_fs_(reads|writes)_(bytes_)?total|kubelet_volume_stats_(used|capacity|available)_bytes|container_cpu_cfs_(throttled_)?periods_total' source_labels: - __name__ - action: labeldrop