Documentation
¶
Index ¶
- Constants
- Variables
- type AggregatorConfig
- type Filter
- type InputConfig
- type OutputConfig
- type ProcessorConfig
- type RunningAggregator
- func (r *RunningAggregator) Add(in telegraf.Metric) bool
- func (r *RunningAggregator) MakeMetric(measurement string, fields map[string]interface{}, tags map[string]string, ...) telegraf.Metric
- func (r *RunningAggregator) Name() string
- func (r *RunningAggregator) Run(acc telegraf.Accumulator, shutdown chan struct{})
- type RunningInput
- func (r *RunningInput) MakeMetric(measurement string, fields map[string]interface{}, tags map[string]string, ...) telegraf.Metric
- func (r *RunningInput) Name() string
- func (r *RunningInput) SetDefaultTags(tags map[string]string)
- func (r *RunningInput) SetTrace(trace bool)
- func (r *RunningInput) Trace() bool
- type RunningOutput
- type RunningProcessor
- type RunningProcessors
- type TagFilter
Constants ¶
const ( // Default size of metrics batch size. DEFAULT_METRIC_BATCH_SIZE = 1000 // Default number of metrics kept. It should be a multiple of batch size. DEFAULT_METRIC_BUFFER_LIMIT = 10000 )
Variables ¶
var GlobalMetricsGathered = selfstat.Register("agent", "metrics_gathered", map[string]string{})
Functions ¶
This section is empty.
Types ¶
type AggregatorConfig ¶ added in v1.2.0
type AggregatorConfig struct {
Name string
DropOriginal bool
NameOverride string
MeasurementPrefix string
MeasurementSuffix string
Tags map[string]string
Filter Filter
Period time.Duration
Delay time.Duration
}
AggregatorConfig containing configuration parameters for the running aggregator plugin.
type Filter ¶
type Filter struct {
NameDrop []string
NamePass []string
FieldDrop []string
FieldPass []string
TagDrop []TagFilter
TagPass []TagFilter
TagExclude []string
TagInclude []string
// contains filtered or unexported fields
}
Filter containing drop/pass and tagdrop/tagpass rules
func (*Filter) Apply ¶ added in v1.2.0
func (f *Filter) Apply( measurement string, fields map[string]interface{}, tags map[string]string, ) bool
Apply applies the filter to the given measurement name, fields map, and tags map. It will return false if the metric should be "filtered out", and true if the metric should "pass". It will modify tags & fields in-place if they need to be deleted.
type InputConfig ¶
type InputConfig struct {
Name string
NameOverride string
MeasurementPrefix string
MeasurementSuffix string
Tags map[string]string
Filter Filter
Interval time.Duration
}
InputConfig containing a name, interval, and filter
type OutputConfig ¶
OutputConfig containing name and filter
type ProcessorConfig ¶ added in v1.2.0
FilterConfig containing a name and filter
type RunningAggregator ¶ added in v1.2.0
type RunningAggregator struct {
Config *AggregatorConfig
// contains filtered or unexported fields
}
func NewRunningAggregator ¶ added in v1.2.0
func NewRunningAggregator( a telegraf.Aggregator, conf *AggregatorConfig, ) *RunningAggregator
func (*RunningAggregator) Add ¶ added in v1.2.0
func (r *RunningAggregator) Add(in telegraf.Metric) bool
Add applies the given metric to the aggregator. Before applying to the plugin, it will run any defined filters on the metric. Apply returns true if the original metric should be dropped.
func (*RunningAggregator) MakeMetric ¶ added in v1.2.0
func (*RunningAggregator) Name ¶ added in v1.2.0
func (r *RunningAggregator) Name() string
func (*RunningAggregator) Run ¶ added in v1.2.0
func (r *RunningAggregator) Run( acc telegraf.Accumulator, shutdown chan struct{}, )
Run runs the running aggregator, listens for incoming metrics, and waits for period ticks to tell it when to push and reset the aggregator.
type RunningInput ¶
type RunningInput struct {
Input telegraf.Input
Config *InputConfig
MetricsGathered selfstat.Stat
// contains filtered or unexported fields
}
func NewRunningInput ¶ added in v1.2.0
func NewRunningInput( input telegraf.Input, config *InputConfig, ) *RunningInput
func (*RunningInput) MakeMetric ¶ added in v1.2.0
func (r *RunningInput) MakeMetric( measurement string, fields map[string]interface{}, tags map[string]string, mType telegraf.ValueType, t time.Time, ) telegraf.Metric
MakeMetric either returns a metric, or returns nil if the metric doesn't need to be created (because of filtering, an error, etc.)
func (*RunningInput) Name ¶
func (r *RunningInput) Name() string
func (*RunningInput) SetDefaultTags ¶ added in v1.2.0
func (r *RunningInput) SetDefaultTags(tags map[string]string)
func (*RunningInput) SetTrace ¶ added in v1.2.0
func (r *RunningInput) SetTrace(trace bool)
func (*RunningInput) Trace ¶ added in v1.2.0
func (r *RunningInput) Trace() bool
type RunningOutput ¶
type RunningOutput struct {
Name string
Output telegraf.Output
Config *OutputConfig
MetricBufferLimit int
MetricBatchSize int
MetricsFiltered selfstat.Stat
MetricsWritten selfstat.Stat
BufferSize selfstat.Stat
BufferLimit selfstat.Stat
WriteTime selfstat.Stat
// contains filtered or unexported fields
}
RunningOutput contains the output configuration
func NewRunningOutput ¶
func NewRunningOutput( name string, output telegraf.Output, conf *OutputConfig, batchSize int, bufferLimit int, ) *RunningOutput
func (*RunningOutput) AddMetric ¶ added in v1.2.0
func (ro *RunningOutput) AddMetric(m telegraf.Metric)
AddMetric adds a metric to the output. This function can also write cached points if FlushBufferWhenFull is true.
func (*RunningOutput) Write ¶
func (ro *RunningOutput) Write() error
Write writes all cached points to this output.
type RunningProcessor ¶ added in v1.2.0
type RunningProcessor struct {
Name string
Processor telegraf.Processor
Config *ProcessorConfig
}
type RunningProcessors ¶ added in v1.2.0
type RunningProcessors []*RunningProcessor
func (RunningProcessors) Len ¶ added in v1.2.0
func (rp RunningProcessors) Len() int
func (RunningProcessors) Less ¶ added in v1.2.0
func (rp RunningProcessors) Less(i, j int) bool
func (RunningProcessors) Swap ¶ added in v1.2.0
func (rp RunningProcessors) Swap(i, j int)