Add support for Graphite 1.1.x tags (#4165)

This commit is contained in:
Pavel Boev
2018-05-22 01:59:56 +03:00
committed by Daniel Nelson
parent 703be4f124
commit 7660315e45
8 changed files with 581 additions and 24 deletions

View File

@@ -38,6 +38,9 @@ type Config struct {
// Dataformat can be one of: influx, graphite, or json
DataFormat string
// Support tags in graphite protocol
GraphiteTagSupport bool
// Maximum line length in bytes; influx format only
InfluxMaxLineBytes int
@@ -67,7 +70,7 @@ func NewSerializer(config *Config) (Serializer, error) {
case "influx":
serializer, err = NewInfluxSerializerConfig(config)
case "graphite":
serializer, err = NewGraphiteSerializer(config.Prefix, config.Template)
serializer, err = NewGraphiteSerializer(config.Prefix, config.Template, config.GraphiteTagSupport)
case "json":
serializer, err = NewJsonSerializer(config.TimestampUnits)
default:
@@ -102,9 +105,10 @@ func NewInfluxSerializer() (Serializer, error) {
return influx.NewSerializer(), nil
}
func NewGraphiteSerializer(prefix, template string) (Serializer, error) {
func NewGraphiteSerializer(prefix, template string, tag_support bool) (Serializer, error) {
return &graphite.GraphiteSerializer{
Prefix: prefix,
Template: template,
Prefix: prefix,
Template: template,
TagSupport: tag_support,
}, nil
}