diff --git a/plugins/serializers/all/msgpack.go b/plugins/serializers/all/msgpack.go new file mode 100644 index 000000000..4f81a6671 --- /dev/null +++ b/plugins/serializers/all/msgpack.go @@ -0,0 +1,7 @@ +//go:build !custom || serializers || serializers.msgpack + +package all + +import ( + _ "github.com/influxdata/telegraf/plugins/serializers/msgpack" // register plugin +) diff --git a/plugins/serializers/msgpack/msgpack.go b/plugins/serializers/msgpack/msgpack.go index cd5f6ceb2..fef37e7c0 100644 --- a/plugins/serializers/msgpack/msgpack.go +++ b/plugins/serializers/msgpack/msgpack.go @@ -2,16 +2,12 @@ package msgpack import ( "github.com/influxdata/telegraf" + "github.com/influxdata/telegraf/plugins/serializers" ) // Serializer encodes metrics in MessagePack format type Serializer struct{} -// NewSerializer creates a msgpack.Serializer -func NewSerializer() *Serializer { - return &Serializer{} -} - func marshalMetric(buf []byte, metric telegraf.Metric) ([]byte, error) { return (&Metric{ Name: metric.Name(), @@ -41,3 +37,16 @@ func (s *Serializer) SerializeBatch(metrics []telegraf.Metric) ([]byte, error) { } return buf, nil } + +func init() { + serializers.Add("msgpack", + func() serializers.Serializer { + return &Serializer{} + }, + ) +} + +// InitFromConfig is a compatibility function to construct the parser the old way +func (s *Serializer) InitFromConfig(_ *serializers.Config) error { + return nil +} diff --git a/plugins/serializers/registry.go b/plugins/serializers/registry.go index 8d55670cf..36c2abe54 100644 --- a/plugins/serializers/registry.go +++ b/plugins/serializers/registry.go @@ -6,7 +6,6 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/plugins/serializers/json" - "github.com/influxdata/telegraf/plugins/serializers/msgpack" "github.com/influxdata/telegraf/plugins/serializers/nowmetric" "github.com/influxdata/telegraf/plugins/serializers/prometheus" "github.com/influxdata/telegraf/plugins/serializers/prometheusremotewrite" @@ -180,8 +179,6 @@ func NewSerializer(config *Config) (Serializer, error) { serializer, err = NewPrometheusSerializer(config), nil case "prometheusremotewrite": serializer, err = NewPrometheusRemoteWriteSerializer(config), nil - case "msgpack": - serializer, err = NewMsgpackSerializer(), nil default: creator, found := Serializers[config.DataFormat] if !found { @@ -263,7 +260,3 @@ func NewSplunkmetricSerializer(splunkmetricHecRouting bool, splunkmetricMultimet func NewNowSerializer() (Serializer, error) { return nowmetric.NewSerializer() } - -func NewMsgpackSerializer() Serializer { - return msgpack.NewSerializer() -}