From 230dc35381598c18c6dbdb39d6d2dfc90ec9e059 Mon Sep 17 00:00:00 2001 From: Sinelnikov Michail Date: Mon, 30 Mar 2026 13:06:04 +0300 Subject: [PATCH 1/2] add copy Signed-off-by: Sinelnikov Michail --- pkg/module_manager/go_hook/metrics/collector.go | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/pkg/module_manager/go_hook/metrics/collector.go b/pkg/module_manager/go_hook/metrics/collector.go index 0f3e3a2b1..94f9bb51c 100644 --- a/pkg/module_manager/go_hook/metrics/collector.go +++ b/pkg/module_manager/go_hook/metrics/collector.go @@ -37,7 +37,7 @@ func (dms *MemoryMetricsCollector) Add(name string, value float64, labels map[st Group: options.group, Action: operation.ActionCounterAdd, Value: pointer.To(value), - Labels: labels, + Labels: copyLabels(labels), }) } @@ -54,10 +54,21 @@ func (dms *MemoryMetricsCollector) Set(name string, value float64, labels map[st Group: options.group, Action: operation.ActionGaugeSet, Value: pointer.To(value), - Labels: labels, + Labels: copyLabels(labels), }) } +func copyLabels(labels map[string]string) map[string]string { + if labels == nil { + return nil + } + copied := make(map[string]string, len(labels)) + for k, v := range labels { + copied[k] = v + } + return copied +} + // Expire marks metric's group as expired func (dms *MemoryMetricsCollector) Expire(group string) { if group == "" { From b11ccea31e6529c051274a8674765863ae4ea006 Mon Sep 17 00:00:00 2001 From: Sinelnikov Michail Date: Mon, 30 Mar 2026 17:20:20 +0300 Subject: [PATCH 2/2] fix Signed-off-by: Sinelnikov Michail --- pkg/module_manager/go_hook/metrics/collector.go | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/pkg/module_manager/go_hook/metrics/collector.go b/pkg/module_manager/go_hook/metrics/collector.go index 94f9bb51c..bc295e899 100644 --- a/pkg/module_manager/go_hook/metrics/collector.go +++ b/pkg/module_manager/go_hook/metrics/collector.go @@ -1,6 +1,8 @@ package metrics import ( + "maps" + "github.com/deckhouse/deckhouse/pkg/metrics-storage/operation" sdkpkg "github.com/deckhouse/module-sdk/pkg" pointer "k8s.io/utils/ptr" @@ -37,7 +39,7 @@ func (dms *MemoryMetricsCollector) Add(name string, value float64, labels map[st Group: options.group, Action: operation.ActionCounterAdd, Value: pointer.To(value), - Labels: copyLabels(labels), + Labels: maps.Clone(labels), }) } @@ -54,21 +56,10 @@ func (dms *MemoryMetricsCollector) Set(name string, value float64, labels map[st Group: options.group, Action: operation.ActionGaugeSet, Value: pointer.To(value), - Labels: copyLabels(labels), + Labels: maps.Clone(labels), }) } -func copyLabels(labels map[string]string) map[string]string { - if labels == nil { - return nil - } - copied := make(map[string]string, len(labels)) - for k, v := range labels { - copied[k] = v - } - return copied -} - // Expire marks metric's group as expired func (dms *MemoryMetricsCollector) Expire(group string) { if group == "" {