1
0
Fork 0
telegraf/models/makemetric.go
Daniel Baumann 4978089aab
Adding upstream version 1.34.4.
Signed-off-by: Daniel Baumann <daniel@debian.org>
2025-05-24 07:26:29 +02:00

34 lines
729 B
Go

package models
import (
"github.com/influxdata/telegraf"
)
// makeMetric applies new metric plugin and agent measurement and tag settings.
func makeMetric(metric telegraf.Metric, nameOverride, namePrefix, nameSuffix string, tags, globalTags map[string]string) telegraf.Metric {
if len(nameOverride) != 0 {
metric.SetName(nameOverride)
}
if len(namePrefix) != 0 {
metric.AddPrefix(namePrefix)
}
if len(nameSuffix) != 0 {
metric.AddSuffix(nameSuffix)
}
// Apply plugin-wide tags
for k, v := range tags {
if _, ok := metric.GetTag(k); !ok {
metric.AddTag(k, v)
}
}
// Apply global tags
for k, v := range globalTags {
if _, ok := metric.GetTag(k); !ok {
metric.AddTag(k, v)
}
}
return metric
}