From 38ce0be8a4d78fb4431c43678ac725f6a0b9f454 Mon Sep 17 00:00:00 2001 From: Sally Wahba Date: Mon, 30 Sep 2024 14:02:18 -0400 Subject: [PATCH] Add collectd information for collectd datapoints (#118) --- logkey/logkey.go | 2 ++ protocol/collectd/collectd.go | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/logkey/logkey.go b/logkey/logkey.go index 889fcf0..ba36636 100644 --- a/logkey/logkey.go +++ b/logkey/logkey.go @@ -59,4 +59,6 @@ var ( ListenFrom = log.Key("listen_from") // WavefrontLine is a direct line received from wavefront protocol WavefrontLine = log.Key("wavefront_line") + // Collectd is a string indicating that incoming data is from collectd + Collectd = log.Key("collectd") ) diff --git a/protocol/collectd/collectd.go b/protocol/collectd/collectd.go index 60790f6..c448c1e 100644 --- a/protocol/collectd/collectd.go +++ b/protocol/collectd/collectd.go @@ -6,6 +6,7 @@ import ( "github.com/signalfx/golib/v3/datapoint" "github.com/signalfx/golib/v3/event" + "github.com/signalfx/ingest-protocols/logkey" collectdformat "github.com/signalfx/ingest-protocols/protocol/collectd/format" ) @@ -54,6 +55,10 @@ func NewDatapoint(point *JSONWriteFormat, index uint, defaultDimensions map[stri metricType := metricTypeFromDsType(dstype) metricName, usedDsName := getReasonableMetricName(point, index, dimensions) + meta := map[interface{}]interface{}{ + logkey.Protocol: logkey.Collectd, + } + addIfNotNullOrEmpty(dimensions, "plugin", true, point.Plugin) parseDimensionsOut(dimensions, point.PluginInstance, point.Host) @@ -67,7 +72,7 @@ func NewDatapoint(point *JSONWriteFormat, index uint, defaultDimensions map[stri } else { value = datapoint.NewFloatValue(*val) } - return datapoint.New(metricName, dimensions, value, metricType, timestamp) + return datapoint.NewWithMeta(metricName, dimensions, meta, value, metricType, timestamp) } func addIfNotNullOrEmpty(dimensions map[string]string, key string, cond bool, val *string) {