From 77a9b5a977dd9b0bc8d3f20030dfa2c2f5d8f4fc Mon Sep 17 00:00:00 2001 From: Holger Obermaier <40787752+ho-ob@users.noreply.github.com> Date: Fri, 6 Feb 2026 14:50:00 +0100 Subject: [PATCH] Replace m[k]=v loop with maps.Copy --- collectors/likwidMetric.go | 5 ++--- collectors/nvidiaMetric.go | 9 +++------ internal/metricAggregator/metricAggregator.go | 5 ++--- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/collectors/likwidMetric.go b/collectors/likwidMetric.go index d38128b..6573b00 100644 --- a/collectors/likwidMetric.go +++ b/collectors/likwidMetric.go @@ -19,6 +19,7 @@ import ( "encoding/json" "errors" "fmt" + "maps" "math" "os" "os/signal" @@ -767,9 +768,7 @@ func (m *LikwidCollector) calcGlobalMetrics(groups []LikwidEventsetConfig, inter // Here we generate parameter list params := make(map[string]float64) for _, evset := range groups { - for mname, mres := range evset.metrics[tid] { - params[mname] = mres - } + maps.Copy(params, evset.metrics[tid]) } params["gotime"] = interval.Seconds() // Evaluate the metric diff --git a/collectors/nvidiaMetric.go b/collectors/nvidiaMetric.go index a01a28c..db6d7e0 100644 --- a/collectors/nvidiaMetric.go +++ b/collectors/nvidiaMetric.go @@ -12,6 +12,7 @@ import ( "errors" "fmt" "log" + "maps" "slices" "strings" "time" @@ -1279,9 +1280,7 @@ func (m *NvidiaCollector) Read(interval time.Duration, output chan lp.CCMessage) meta: map[string]string{}, excludeMetrics: excludeMetrics, } - for k, v := range m.gpus[i].tags { - migDevice.tags[k] = v - } + maps.Copy(migDevice.tags, m.gpus[i].tags) migDevice.tags["stype"] = "mig" if m.config.UseUuidForMigDevices { uuid, ret := nvml.DeviceGetUUID(mdev) @@ -1305,9 +1304,7 @@ func (m *NvidiaCollector) Read(interval time.Duration, output chan lp.CCMessage) if _, ok := migDevice.tags["stype-id"]; !ok { migDevice.tags["stype-id"] = fmt.Sprintf("%d", j) } - for k, v := range m.gpus[i].meta { - migDevice.meta[k] = v - } + maps.Copy(migDevice.meta, m.gpus[i].meta) if _, ok := migDevice.meta["uuid"]; ok && !m.config.UseUuidForMigDevices { uuid, ret := nvml.DeviceGetUUID(mdev) if ret == nvml.SUCCESS { diff --git a/internal/metricAggregator/metricAggregator.go b/internal/metricAggregator/metricAggregator.go index ff4c788..ae4d8b5 100644 --- a/internal/metricAggregator/metricAggregator.go +++ b/internal/metricAggregator/metricAggregator.go @@ -10,6 +10,7 @@ package metricAggregator import ( "context" "fmt" + "maps" "math" "os" "strings" @@ -121,9 +122,7 @@ func (c *metricAggregator) Init(output chan lp.CCMessage) error { func (c *metricAggregator) Eval(starttime time.Time, endtime time.Time, metrics []lp.CCMessage) { vars := make(map[string]interface{}) - for k, v := range c.constants { - vars[k] = v - } + maps.Copy(vars, c.constants) vars["starttime"] = starttime vars["endtime"] = endtime for _, f := range c.functions {