From 98c629362306a69dfd53349151d647dd4d552f6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=83=A1=E7=8E=AE=E6=96=87?= Date: Thu, 4 Sep 2025 19:29:01 +0800 Subject: [PATCH] kubelet/metrics: misc optimization --- pkg/kubelet/metrics/collectors/volume_stats.go | 7 +++---- pkg/kubelet/metrics/metrics.go | 4 +--- pkg/kubelet/server/stats/volume_stat_calculator.go | 2 +- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/pkg/kubelet/metrics/collectors/volume_stats.go b/pkg/kubelet/metrics/collectors/volume_stats.go index b565bf1d376..b139cf5eaec 100644 --- a/pkg/kubelet/metrics/collectors/volume_stats.go +++ b/pkg/kubelet/metrics/collectors/volume_stats.go @@ -107,7 +107,7 @@ func (collector *volumeStatsCollector) CollectWithStability(ch chan<- metrics.Me lv = append([]string{pvcRef.Namespace, pvcRef.Name}, lv...) ch <- metrics.NewLazyConstMetric(desc, metrics.GaugeValue, v, lv...) } - allPVCs := sets.Set[string]{} + allPVCs := sets.Set[stats.PVCReference]{} for _, podStat := range podStats { if podStat.VolumeStats == nil { continue @@ -118,8 +118,7 @@ func (collector *volumeStatsCollector) CollectWithStability(ch chan<- metrics.Me // ignore if no PVC reference continue } - pvcUniqStr := pvcRef.Namespace + "/" + pvcRef.Name - if allPVCs.Has(pvcUniqStr) { + if allPVCs.Has(*pvcRef) { // ignore if already collected continue } @@ -132,7 +131,7 @@ func (collector *volumeStatsCollector) CollectWithStability(ch chan<- metrics.Me if volumeStat.VolumeHealthStats != nil { addGauge(volumeStatsHealthAbnormalDesc, pvcRef, convertBoolToFloat64(volumeStat.VolumeHealthStats.Abnormal)) } - allPVCs.Insert(pvcUniqStr) + allPVCs.Insert(*pvcRef) } } } diff --git a/pkg/kubelet/metrics/metrics.go b/pkg/kubelet/metrics/metrics.go index 03731586dc3..3383f6a07a3 100644 --- a/pkg/kubelet/metrics/metrics.go +++ b/pkg/kubelet/metrics/metrics.go @@ -1274,9 +1274,7 @@ func Register(collectors ...metrics.StableCollector) { legacyregistry.MustRegister(OrphanPodCleanedVolumes) legacyregistry.MustRegister(OrphanPodCleanedVolumesErrors) - for _, collector := range collectors { - legacyregistry.CustomMustRegister(collector) - } + legacyregistry.CustomMustRegister(collectors...) if utilfeature.DefaultFeatureGate.Enabled(features.GracefulNodeShutdown) && utilfeature.DefaultFeatureGate.Enabled(features.GracefulNodeShutdownBasedOnPodPriority) { diff --git a/pkg/kubelet/server/stats/volume_stat_calculator.go b/pkg/kubelet/server/stats/volume_stat_calculator.go index 671c72ca4b5..fc6bea1adc7 100644 --- a/pkg/kubelet/server/stats/volume_stat_calculator.go +++ b/pkg/kubelet/server/stats/volume_stat_calculator.go @@ -125,7 +125,7 @@ func (s *volumeStatCalculator) calcAndStoreStats() { } // Get volume specs for the pod - key'd by volume name - volumesSpec := make(map[string]v1.Volume) + volumesSpec := make(map[string]v1.Volume, len(s.pod.Spec.Volumes)) for _, v := range s.pod.Spec.Volumes { volumesSpec[v.Name] = v }