From 7d0b1c268ff522a69bf5fad26baf276a6231a633 Mon Sep 17 00:00:00 2001 From: Thomas Roehl Date: Wed, 16 Feb 2022 16:45:13 +0100 Subject: [PATCH] Add metric renaming function --- sinks/libgangliaSink.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/sinks/libgangliaSink.go b/sinks/libgangliaSink.go index d0b02f8..f3490c6 100644 --- a/sinks/libgangliaSink.go +++ b/sinks/libgangliaSink.go @@ -69,6 +69,7 @@ import ( "encoding/json" "errors" "fmt" + "strings" "unsafe" lp "github.com/ClusterCockpit/cc-metric-collector/internal/ccMetric" @@ -95,6 +96,23 @@ type LibgangliaSink struct { cstrCache map[string]*C.char } +func gangliaMetricName(point lp.CCMetric) string { + name := point.Name() + metricType, typeOK := point.GetTag("type") + metricTid, tidOk := point.GetTag("type-id") + gangliaType := metricType + metricTid + if strings.Contains(name, metricType) && tidOk { + name = strings.Replace(name, metricType, gangliaType, -1) + } else if typeOK && tidOk { + name = metricType + metricTid + "_" + name + } else if point.HasTag("device") { + device, _ := point.GetTag("device") + name = name + "_" + device + } + + return name +} + func (s *LibgangliaSink) Init(config json.RawMessage) error { var err error = nil s.name = "LibgangliaSink"