From a93801ed91d23b85ce3dac71e9df9c1ffc273580 Mon Sep 17 00:00:00 2001 From: Thomas Roehl <Thomas.Roehl@googlemail.com> Date: Thu, 24 Feb 2022 18:17:55 +0100 Subject: [PATCH] Format value string also for known metrics --- sinks/gangliaCommon.go | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/sinks/gangliaCommon.go b/sinks/gangliaCommon.go index 2837108..b2a1b2c 100644 --- a/sinks/gangliaCommon.go +++ b/sinks/gangliaCommon.go @@ -155,12 +155,38 @@ func GetCommonGangliaConfig(point lp.CCMetric) GangliaMetricConfig { for _, group := range CommonGangliaMetrics { for _, metric := range group.Metrics { if metric.Name == mname { + valueStr := "" + value, ok := point.GetField("value") + if ok { + switch real := value.(type) { + case float64: + valueStr = fmt.Sprintf("%f", real) + case float32: + valueStr = fmt.Sprintf("%f", real) + case int64: + valueStr = fmt.Sprintf("%d", real) + case int32: + valueStr = fmt.Sprintf("%d", real) + case int: + valueStr = fmt.Sprintf("%d", real) + case uint64: + valueStr = fmt.Sprintf("%d", real) + case uint32: + valueStr = fmt.Sprintf("%d", real) + case uint: + valueStr = fmt.Sprintf("%d", real) + case string: + valueStr = real + default: + } + } return GangliaMetricConfig{ Group: group.Name, Type: metric.Type, Slope: metric.Slope, Tmax: metric.Tmax, Unit: metric.Unit, + Value: valueStr, } } }