Documentation ¶
Index ¶
- type Config
- type Serializer
- func NewCarbon2Serializer() (Serializer, error)
- func NewGraphiteSerializer(prefix, template string, tag_support bool) (Serializer, error)
- func NewInfluxSerializer() (Serializer, error)
- func NewInfluxSerializerConfig(config *Config) (Serializer, error)
- func NewJsonSerializer(timestampUnits time.Duration) (Serializer, error)
- func NewNowSerializer() (Serializer, error)
- func NewSerializer(config *Config) (Serializer, error)
- func NewSplunkmetricSerializer(splunkmetric_hec_routing bool) (Serializer, error)
- func NewWavefrontSerializer(prefix string, useStrict bool, sourceOverride []string) (Serializer, error)
- type SerializerOutput
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { // Dataformat can be one of the serializer types listed in NewSerializer. DataFormat string // Support tags in graphite protocol GraphiteTagSupport bool // Maximum line length in bytes; influx format only InfluxMaxLineBytes int // Sort field keys, set to true only when debugging as it less performant // than unsorted fields; influx format only InfluxSortFields bool // Support unsigned integer output; influx format only InfluxUintSupport bool // Prefix to add to all measurements, only supports Graphite Prefix string // Template for converting telegraf metrics into Graphite // only supports Graphite Template string // Timestamp units to use for JSON formatted output TimestampUnits time.Duration // Include HEC routing fields for splunkmetric output HecRouting bool // Point tags to use as the source name for Wavefront (if none found, host will be used). WavefrontSourceOverride []string // Use Strict rules to sanitize metric and tag names from invalid characters for Wavefront // When enabled forward slash (/) and comma (,) will be accepted WavefrontUseStrict bool }
Config is a struct that covers the data types needed for all serializer types, and can be used to instantiate _any_ of the serializers.
type Serializer ¶
type Serializer interface { // Serialize takes a single telegraf metric and turns it into a byte buffer. // separate metrics should be separated by a newline, and there should be // a newline at the end of the buffer. // // New plugins should use SerializeBatch instead to allow for non-line // delimited metrics. Serialize(metric telegraf.Metric) ([]byte, error) // SerializeBatch takes an array of telegraf metric and serializes it into // a byte buffer. This method is not required to be suitable for use with // line oriented framing. SerializeBatch(metrics []telegraf.Metric) ([]byte, error) }
Serializer is an interface defining functions that a serializer plugin must satisfy.
Implementations of this interface should be reentrant but are not required to be thread-safe.
func NewCarbon2Serializer ¶
func NewCarbon2Serializer() (Serializer, error)
func NewGraphiteSerializer ¶
func NewGraphiteSerializer(prefix, template string, tag_support bool) (Serializer, error)
func NewInfluxSerializer ¶
func NewInfluxSerializer() (Serializer, error)
func NewInfluxSerializerConfig ¶
func NewInfluxSerializerConfig(config *Config) (Serializer, error)
func NewJsonSerializer ¶
func NewJsonSerializer(timestampUnits time.Duration) (Serializer, error)
func NewNowSerializer ¶
func NewNowSerializer() (Serializer, error)
func NewSerializer ¶
func NewSerializer(config *Config) (Serializer, error)
NewSerializer a Serializer interface based on the given config.
func NewSplunkmetricSerializer ¶
func NewSplunkmetricSerializer(splunkmetric_hec_routing bool) (Serializer, error)
func NewWavefrontSerializer ¶
func NewWavefrontSerializer(prefix string, useStrict bool, sourceOverride []string) (Serializer, error)
type SerializerOutput ¶
type SerializerOutput interface { // SetSerializer sets the serializer function for the interface. SetSerializer(serializer Serializer) }
SerializerOutput is an interface for output plugins that are able to serialize telegraf metrics into arbitrary data formats.
Click to show internal directories.
Click to hide internal directories.