chore(serializers.msgpack): Migrate to new-style framework (#13336)

This commit is contained in:
Sven Rebhan 2023-05-25 21:20:50 +02:00 committed by GitHub
parent bbe30f769d
commit a1743269cc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 21 additions and 12 deletions

View File

@ -0,0 +1,7 @@
//go:build !custom || serializers || serializers.msgpack
package all
import (
_ "github.com/influxdata/telegraf/plugins/serializers/msgpack" // register plugin
)

View File

@ -2,16 +2,12 @@ package msgpack
import ( import (
"github.com/influxdata/telegraf" "github.com/influxdata/telegraf"
"github.com/influxdata/telegraf/plugins/serializers"
) )
// Serializer encodes metrics in MessagePack format // Serializer encodes metrics in MessagePack format
type Serializer struct{} type Serializer struct{}
// NewSerializer creates a msgpack.Serializer
func NewSerializer() *Serializer {
return &Serializer{}
}
func marshalMetric(buf []byte, metric telegraf.Metric) ([]byte, error) { func marshalMetric(buf []byte, metric telegraf.Metric) ([]byte, error) {
return (&Metric{ return (&Metric{
Name: metric.Name(), Name: metric.Name(),
@ -41,3 +37,16 @@ func (s *Serializer) SerializeBatch(metrics []telegraf.Metric) ([]byte, error) {
} }
return buf, nil 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
}

View File

@ -6,7 +6,6 @@ import (
"github.com/influxdata/telegraf" "github.com/influxdata/telegraf"
"github.com/influxdata/telegraf/plugins/serializers/json" "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/nowmetric"
"github.com/influxdata/telegraf/plugins/serializers/prometheus" "github.com/influxdata/telegraf/plugins/serializers/prometheus"
"github.com/influxdata/telegraf/plugins/serializers/prometheusremotewrite" "github.com/influxdata/telegraf/plugins/serializers/prometheusremotewrite"
@ -180,8 +179,6 @@ func NewSerializer(config *Config) (Serializer, error) {
serializer, err = NewPrometheusSerializer(config), nil serializer, err = NewPrometheusSerializer(config), nil
case "prometheusremotewrite": case "prometheusremotewrite":
serializer, err = NewPrometheusRemoteWriteSerializer(config), nil serializer, err = NewPrometheusRemoteWriteSerializer(config), nil
case "msgpack":
serializer, err = NewMsgpackSerializer(), nil
default: default:
creator, found := Serializers[config.DataFormat] creator, found := Serializers[config.DataFormat]
if !found { if !found {
@ -263,7 +260,3 @@ func NewSplunkmetricSerializer(splunkmetricHecRouting bool, splunkmetricMultimet
func NewNowSerializer() (Serializer, error) { func NewNowSerializer() (Serializer, error) {
return nowmetric.NewSerializer() return nowmetric.NewSerializer()
} }
func NewMsgpackSerializer() Serializer {
return msgpack.NewSerializer()
}