Documentation
¶
Index ¶
- Constants
- Variables
- func SetLoggerOnPlugin(i interface{}, logger telegraf.Logger)
- func ShouldPassFilters(include, exclude filter.Filter, key string) bool
- func ShouldTagsPass(passFilters, dropFilters []TagFilter, tags []*telegraf.Tag) bool
- type AggregatorConfig
- type Buffer
- type BufferStats
- type DiskBuffer
- func (b *DiskBuffer) Accept(batch []telegraf.Metric)
- func (b *DiskBuffer) Add(metrics ...telegraf.Metric) int
- func (b *DiskBuffer) Batch(batchSize int) []telegraf.Metric
- func (b *DiskBuffer) Close() error
- func (b *DiskBuffer) Len() int
- func (b *DiskBuffer) Reject(_ []telegraf.Metric)
- func (b *DiskBuffer) Stats() BufferStats
- type Filter
- type InputConfig
- type MemoryBuffer
- func (b *MemoryBuffer) Accept(batch []telegraf.Metric)
- func (b *MemoryBuffer) Add(metrics ...telegraf.Metric) int
- func (b *MemoryBuffer) Batch(batchSize int) []telegraf.Metric
- func (b *MemoryBuffer) Close() error
- func (b *MemoryBuffer) Len() int
- func (b *MemoryBuffer) Reject(batch []telegraf.Metric)
- func (b *MemoryBuffer) Stats() BufferStats
- type OutputConfig
- type ParserConfig
- type ProcessorConfig
- type RunningAggregator
- func (r *RunningAggregator) Add(m telegraf.Metric) bool
- func (r *RunningAggregator) EndPeriod() time.Time
- func (r *RunningAggregator) ID() string
- func (r *RunningAggregator) Init() error
- func (r *RunningAggregator) Log() telegraf.Logger
- func (r *RunningAggregator) LogName() string
- func (r *RunningAggregator) MakeMetric(telegrafMetric telegraf.Metric) telegraf.Metric
- func (r *RunningAggregator) Period() time.Duration
- func (r *RunningAggregator) Push(acc telegraf.Accumulator)
- func (r *RunningAggregator) UpdateWindow(start, until time.Time)
- type RunningInput
- func (r *RunningInput) Gather(acc telegraf.Accumulator) error
- func (r *RunningInput) ID() string
- func (r *RunningInput) IncrGatherTimeouts()
- func (r *RunningInput) Init() error
- func (r *RunningInput) Log() telegraf.Logger
- func (r *RunningInput) LogName() string
- func (r *RunningInput) MakeMetric(metric telegraf.Metric) telegraf.Metric
- func (r *RunningInput) SetDefaultTags(tags map[string]string)
- func (r *RunningInput) Start(acc telegraf.Accumulator) error
- func (r *RunningInput) Stop()
- type RunningOutput
- func (r *RunningOutput) AddMetric(metric telegraf.Metric)
- func (r *RunningOutput) BufferLength() int
- func (r *RunningOutput) Close()
- func (r *RunningOutput) Connect() error
- func (r *RunningOutput) ID() string
- func (r *RunningOutput) Init() error
- func (r *RunningOutput) Log() telegraf.Logger
- func (r *RunningOutput) LogBufferStatus()
- func (r *RunningOutput) LogName() string
- func (r *RunningOutput) Write() error
- func (r *RunningOutput) WriteBatch() error
- type RunningParser
- func (r *RunningParser) Init() error
- func (r *RunningParser) Log() telegraf.Logger
- func (r *RunningParser) LogName() string
- func (r *RunningParser) Parse(buf []byte) ([]telegraf.Metric, error)
- func (r *RunningParser) ParseLine(line string) (telegraf.Metric, error)
- func (r *RunningParser) SetDefaultTags(tags map[string]string)
- type RunningProcessor
- func (rp *RunningProcessor) Add(m telegraf.Metric, acc telegraf.Accumulator) error
- func (rp *RunningProcessor) ID() string
- func (rp *RunningProcessor) Init() error
- func (rp *RunningProcessor) Log() telegraf.Logger
- func (rp *RunningProcessor) LogName() string
- func (rp *RunningProcessor) MakeMetric(metric telegraf.Metric) telegraf.Metric
- func (rp *RunningProcessor) Start(acc telegraf.Accumulator) error
- func (rp *RunningProcessor) Stop()
- type RunningProcessors
- type RunningSerializer
- type SerializerConfig
- type TagFilter
Constants ¶
const ( // Default size of metrics batch size. DefaultMetricBatchSize = 1000 // Default number of metrics kept. It should be a multiple of batch size. DefaultMetricBufferLimit = 10000 )
Variables ¶
Functions ¶
func SetLoggerOnPlugin ¶ added in v1.15.4
func ShouldPassFilters ¶ added in v1.27.0
Types ¶
type AggregatorConfig ¶
type AggregatorConfig struct {
Name string
Alias string
ID string
DropOriginal bool
Period time.Duration
Delay time.Duration
Grace time.Duration
LogLevel string
NameOverride string
MeasurementPrefix string
MeasurementSuffix string
Tags map[string]string
Filter Filter
}
AggregatorConfig is the common config for all aggregators.
type Buffer ¶
type Buffer interface {
// Len returns the number of metrics currently in the buffer.
Len() int
// Add adds metrics to the buffer and returns number of dropped metrics.
Add(metrics ...telegraf.Metric) int
// Batch returns a slice containing up to batchSize of the oldest metrics not
// yet dropped. Metrics are ordered from oldest to newest in the batch. The
// batch must not be modified by the client.
Batch(batchSize int) []telegraf.Metric
// Accept marks the batch, acquired from Batch(), as successfully written.
Accept(metrics []telegraf.Metric)
// Reject returns the batch, acquired from Batch(), to the buffer and marks it
// as unsent.
Reject([]telegraf.Metric)
// Stats returns the buffer statistics such as rejected, dropped and accepred metrics
Stats() BufferStats
// Close finalizes the buffer and closes all open resources
Close() error
}
type BufferStats ¶ added in v1.32.0
type BufferStats struct {
MetricsAdded selfstat.Stat
MetricsWritten selfstat.Stat
MetricsDropped selfstat.Stat
BufferSize selfstat.Stat
BufferLimit selfstat.Stat
}
BufferStats holds common metrics used for buffer implementations. Implementations of Buffer should embed this struct in them.
func NewBufferStats ¶ added in v1.32.0
func NewBufferStats(name, alias string, capacity int) BufferStats
type DiskBuffer ¶ added in v1.32.0
type DiskBuffer struct {
BufferStats
sync.Mutex
// contains filtered or unexported fields
}
func NewDiskBuffer ¶ added in v1.32.0
func NewDiskBuffer(name, id, path string, stats BufferStats) (*DiskBuffer, error)
func (*DiskBuffer) Accept ¶ added in v1.32.0
func (b *DiskBuffer) Accept(batch []telegraf.Metric)
func (*DiskBuffer) Batch ¶ added in v1.32.0
func (b *DiskBuffer) Batch(batchSize int) []telegraf.Metric
func (*DiskBuffer) Close ¶ added in v1.32.3
func (b *DiskBuffer) Close() error
func (*DiskBuffer) Len ¶ added in v1.32.0
func (b *DiskBuffer) Len() int
func (*DiskBuffer) Reject ¶ added in v1.32.0
func (b *DiskBuffer) Reject(_ []telegraf.Metric)
func (*DiskBuffer) Stats ¶ added in v1.32.0
func (b *DiskBuffer) Stats() BufferStats
type Filter ¶
type Filter struct {
NameDrop []string
NameDropSeparators string
NamePass []string
NamePassSeparators string
FieldExclude []string
FieldInclude []string
TagDropFilters []TagFilter
TagPassFilters []TagFilter
TagExclude []string
TagInclude []string
// New metric-filtering interface
MetricPass string
// contains filtered or unexported fields
}
Filter containing drop/pass and include/exclude rules
type InputConfig ¶
type InputConfig struct {
Name string
Alias string
ID string
Interval time.Duration
CollectionJitter time.Duration
CollectionOffset time.Duration
Precision time.Duration
StartupErrorBehavior string
LogLevel string
NameOverride string
MeasurementPrefix string
MeasurementSuffix string
Tags map[string]string
Filter Filter
AlwaysIncludeLocalTags bool
AlwaysIncludeGlobalTags bool
}
InputConfig is the common config for all inputs.
type MemoryBuffer ¶ added in v1.32.0
type MemoryBuffer struct {
sync.Mutex
BufferStats
// contains filtered or unexported fields
}
MemoryBuffer stores metrics in a circular buffer.
func NewMemoryBuffer ¶ added in v1.32.0
func NewMemoryBuffer(capacity int, stats BufferStats) (*MemoryBuffer, error)
func (*MemoryBuffer) Accept ¶ added in v1.32.0
func (b *MemoryBuffer) Accept(batch []telegraf.Metric)
func (*MemoryBuffer) Add ¶ added in v1.32.0
func (b *MemoryBuffer) Add(metrics ...telegraf.Metric) int
func (*MemoryBuffer) Batch ¶ added in v1.32.0
func (b *MemoryBuffer) Batch(batchSize int) []telegraf.Metric
func (*MemoryBuffer) Close ¶ added in v1.32.3
func (b *MemoryBuffer) Close() error
func (*MemoryBuffer) Len ¶ added in v1.32.0
func (b *MemoryBuffer) Len() int
func (*MemoryBuffer) Reject ¶ added in v1.32.0
func (b *MemoryBuffer) Reject(batch []telegraf.Metric)
func (*MemoryBuffer) Stats ¶ added in v1.32.0
func (b *MemoryBuffer) Stats() BufferStats
type OutputConfig ¶
type OutputConfig struct {
Name string
Alias string
ID string
StartupErrorBehavior string
Filter Filter
FlushInterval time.Duration
FlushJitter time.Duration
MetricBufferLimit int
MetricBatchSize int
NameOverride string
NamePrefix string
NameSuffix string
BufferStrategy string
BufferDirectory string
LogLevel string
}
OutputConfig containing name and filter
type ParserConfig ¶ added in v1.22.0
type ParserConfig struct {
Parent string
Alias string
DataFormat string
DefaultTags map[string]string
LogLevel string
}
ParserConfig is the common config for all parsers.
type ProcessorConfig ¶
type ProcessorConfig struct {
Name string
Alias string
ID string
Order int64
Filter Filter
LogLevel string
}
ProcessorConfig containing a name and filter
type RunningAggregator ¶
type RunningAggregator struct {
sync.Mutex
Aggregator telegraf.Aggregator
Config *AggregatorConfig
MetricsPushed selfstat.Stat
MetricsFiltered selfstat.Stat
MetricsDropped selfstat.Stat
PushTime selfstat.Stat
// contains filtered or unexported fields
}
func NewRunningAggregator ¶
func NewRunningAggregator(aggregator telegraf.Aggregator, config *AggregatorConfig) *RunningAggregator
func (*RunningAggregator) Add ¶
func (r *RunningAggregator) Add(m telegraf.Metric) bool
Add a metric to the aggregator and return true if the original metric should be dropped.
func (*RunningAggregator) EndPeriod ¶
func (r *RunningAggregator) EndPeriod() time.Time
func (*RunningAggregator) ID ¶ added in v1.26.0
func (r *RunningAggregator) ID() string
func (*RunningAggregator) Init ¶
func (r *RunningAggregator) Init() error
func (*RunningAggregator) Log ¶
func (r *RunningAggregator) Log() telegraf.Logger
func (*RunningAggregator) LogName ¶
func (r *RunningAggregator) LogName() string
func (*RunningAggregator) MakeMetric ¶
func (r *RunningAggregator) MakeMetric(telegrafMetric telegraf.Metric) telegraf.Metric
func (*RunningAggregator) Period ¶
func (r *RunningAggregator) Period() time.Duration
func (*RunningAggregator) Push ¶
func (r *RunningAggregator) Push(acc telegraf.Accumulator)
func (*RunningAggregator) UpdateWindow ¶
func (r *RunningAggregator) UpdateWindow(start, until time.Time)
type RunningInput ¶
type RunningInput struct {
Input telegraf.Input
Config *InputConfig
MetricsGathered selfstat.Stat
GatherTime selfstat.Stat
GatherTimeouts selfstat.Stat
StartupErrors selfstat.Stat
// contains filtered or unexported fields
}
func NewRunningInput ¶
func NewRunningInput(input telegraf.Input, config *InputConfig) *RunningInput
func (*RunningInput) Gather ¶
func (r *RunningInput) Gather(acc telegraf.Accumulator) error
func (*RunningInput) ID ¶ added in v1.26.0
func (r *RunningInput) ID() string
func (*RunningInput) IncrGatherTimeouts ¶ added in v1.28.0
func (r *RunningInput) IncrGatherTimeouts()
func (*RunningInput) Init ¶
func (r *RunningInput) Init() error
func (*RunningInput) Log ¶
func (r *RunningInput) Log() telegraf.Logger
func (*RunningInput) LogName ¶
func (r *RunningInput) LogName() string
func (*RunningInput) MakeMetric ¶
func (r *RunningInput) MakeMetric(metric telegraf.Metric) telegraf.Metric
func (*RunningInput) SetDefaultTags ¶
func (r *RunningInput) SetDefaultTags(tags map[string]string)
func (*RunningInput) Start ¶ added in v1.31.0
func (r *RunningInput) Start(acc telegraf.Accumulator) error
func (*RunningInput) Stop ¶ added in v1.31.0
func (r *RunningInput) Stop()
type RunningOutput ¶
type RunningOutput struct {
Output telegraf.Output
Config *OutputConfig
MetricBufferLimit int
MetricBatchSize int
MetricsFiltered selfstat.Stat
WriteTime selfstat.Stat
StartupErrors selfstat.Stat
BatchReady chan time.Time
// contains filtered or unexported fields
}
RunningOutput contains the output configuration
func NewRunningOutput ¶
func NewRunningOutput(output telegraf.Output, config *OutputConfig, batchSize, bufferLimit int) *RunningOutput
func (*RunningOutput) AddMetric ¶
func (r *RunningOutput) AddMetric(metric telegraf.Metric)
AddMetric adds a metric to the output. Takes ownership of metric
func (*RunningOutput) BufferLength ¶
func (r *RunningOutput) BufferLength() int
func (*RunningOutput) Connect ¶ added in v1.31.0
func (r *RunningOutput) Connect() error
func (*RunningOutput) ID ¶ added in v1.26.0
func (r *RunningOutput) ID() string
func (*RunningOutput) Init ¶
func (r *RunningOutput) Init() error
func (*RunningOutput) Log ¶
func (r *RunningOutput) Log() telegraf.Logger
func (*RunningOutput) LogBufferStatus ¶
func (r *RunningOutput) LogBufferStatus()
func (*RunningOutput) LogName ¶
func (r *RunningOutput) LogName() string
func (*RunningOutput) Write ¶
func (r *RunningOutput) Write() error
Write writes all metrics to the output, stopping when all have been sent on or error.
func (*RunningOutput) WriteBatch ¶
func (r *RunningOutput) WriteBatch() error
WriteBatch writes a single batch of metrics to the output.
type RunningParser ¶ added in v1.22.0
type RunningParser struct {
Parser telegraf.Parser
Config *ParserConfig
MetricsParsed selfstat.Stat
ParseTime selfstat.Stat
// contains filtered or unexported fields
}
func NewRunningParser ¶ added in v1.22.0
func NewRunningParser(parser telegraf.Parser, config *ParserConfig) *RunningParser
func (*RunningParser) Init ¶ added in v1.22.0
func (r *RunningParser) Init() error
func (*RunningParser) Log ¶ added in v1.22.0
func (r *RunningParser) Log() telegraf.Logger
func (*RunningParser) LogName ¶ added in v1.22.0
func (r *RunningParser) LogName() string
func (*RunningParser) Parse ¶ added in v1.22.0
func (r *RunningParser) Parse(buf []byte) ([]telegraf.Metric, error)
func (*RunningParser) ParseLine ¶ added in v1.22.0
func (r *RunningParser) ParseLine(line string) (telegraf.Metric, error)
func (*RunningParser) SetDefaultTags ¶ added in v1.22.0
func (r *RunningParser) SetDefaultTags(tags map[string]string)
type RunningProcessor ¶
type RunningProcessor struct {
sync.Mutex
Processor telegraf.StreamingProcessor
Config *ProcessorConfig
// contains filtered or unexported fields
}
func NewRunningProcessor ¶
func NewRunningProcessor(processor telegraf.StreamingProcessor, config *ProcessorConfig) *RunningProcessor
func (*RunningProcessor) Add ¶
func (rp *RunningProcessor) Add(m telegraf.Metric, acc telegraf.Accumulator) error
func (*RunningProcessor) ID ¶ added in v1.26.0
func (rp *RunningProcessor) ID() string
func (*RunningProcessor) Init ¶
func (rp *RunningProcessor) Init() error
func (*RunningProcessor) Log ¶
func (rp *RunningProcessor) Log() telegraf.Logger
func (*RunningProcessor) LogName ¶
func (rp *RunningProcessor) LogName() string
func (*RunningProcessor) MakeMetric ¶
func (rp *RunningProcessor) MakeMetric(metric telegraf.Metric) telegraf.Metric
func (*RunningProcessor) Start ¶
func (rp *RunningProcessor) Start(acc telegraf.Accumulator) error
func (*RunningProcessor) Stop ¶
func (rp *RunningProcessor) Stop()
type RunningProcessors ¶
type RunningProcessors []*RunningProcessor
func (RunningProcessors) Len ¶
func (rp RunningProcessors) Len() int
func (RunningProcessors) Less ¶
func (rp RunningProcessors) Less(i, j int) bool
func (RunningProcessors) Swap ¶
func (rp RunningProcessors) Swap(i, j int)
type RunningSerializer ¶ added in v1.27.0
type RunningSerializer struct {
Serializer serializers.Serializer
Config *SerializerConfig
MetricsSerialized selfstat.Stat
BytesSerialized selfstat.Stat
SerializationTime selfstat.Stat
// contains filtered or unexported fields
}
func NewRunningSerializer ¶ added in v1.27.0
func NewRunningSerializer(serializer serializers.Serializer, config *SerializerConfig) *RunningSerializer
func (*RunningSerializer) Init ¶ added in v1.27.0
func (r *RunningSerializer) Init() error
func (*RunningSerializer) Log ¶ added in v1.27.0
func (r *RunningSerializer) Log() telegraf.Logger
func (*RunningSerializer) LogName ¶ added in v1.27.0
func (r *RunningSerializer) LogName() string
func (*RunningSerializer) Serialize ¶ added in v1.27.0
func (r *RunningSerializer) Serialize(metric telegraf.Metric) ([]byte, error)
func (*RunningSerializer) SerializeBatch ¶ added in v1.27.0
func (r *RunningSerializer) SerializeBatch(metrics []telegraf.Metric) ([]byte, error)