Documentation ¶
Index ¶
- Constants
- Variables
- type AggregatorConfig
- type Buffer
- type Filter
- type InputConfig
- type OutputConfig
- type ProcessorConfig
- type RunningAggregator
- func (r *RunningAggregator) Add(metric telegraf.Metric) bool
- func (r *RunningAggregator) MakeMetric(metric telegraf.Metric) telegraf.Metric
- func (r *RunningAggregator) Name() string
- func (r *RunningAggregator) Period() time.Duration
- func (r *RunningAggregator) Push(acc telegraf.Accumulator)
- func (r *RunningAggregator) SetPeriodStart(start time.Time)
- type RunningInput
- 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 ( AgentMetricsWritten = selfstat.Register("agent", "metrics_written", map[string]string{}) AgentMetricsDropped = selfstat.Register("agent", "metrics_dropped", map[string]string{}) )
var GlobalMetricsGathered = selfstat.Register("agent", "metrics_gathered", map[string]string{})
Functions ¶
This section is empty.
Types ¶
type AggregatorConfig ¶
type AggregatorConfig struct { Name string DropOriginal bool Period time.Duration Delay time.Duration NameOverride string MeasurementPrefix string MeasurementSuffix string Tags map[string]string Filter Filter }
AggregatorConfig is the common config for all aggregators.
type Buffer ¶
type Buffer struct { sync.Mutex MetricsAdded selfstat.Stat MetricsWritten selfstat.Stat MetricsDropped selfstat.Stat // contains filtered or unexported fields }
Buffer stores metrics in a circular buffer.
func (*Buffer) Batch ¶
Batch returns a slice containing up to batchSize of the most recently added metrics. Metrics are ordered from newest to oldest in the batch. The batch must not be modified by the client.
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
type InputConfig ¶
type InputConfig struct { Name string Interval time.Duration NameOverride string MeasurementPrefix string MeasurementSuffix string Tags map[string]string Filter Filter }
InputConfig is the common config for all inputs.
type OutputConfig ¶
type OutputConfig struct { Name string Filter Filter FlushInterval time.Duration MetricBufferLimit int MetricBatchSize int }
OutputConfig containing name and filter
type ProcessorConfig ¶
FilterConfig 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(metric telegraf.Metric) bool
Add a metric to the aggregator and return true if the original metric should be dropped.
func (*RunningAggregator) MakeMetric ¶
func (r *RunningAggregator) MakeMetric(metric telegraf.Metric) telegraf.Metric
func (*RunningAggregator) Name ¶
func (r *RunningAggregator) Name() string
func (*RunningAggregator) Period ¶
func (r *RunningAggregator) Period() time.Duration
func (*RunningAggregator) Push ¶
func (r *RunningAggregator) Push(acc telegraf.Accumulator)
func (*RunningAggregator) SetPeriodStart ¶
func (r *RunningAggregator) SetPeriodStart(start time.Time)
type RunningInput ¶
type RunningInput struct { Input telegraf.Input Config *InputConfig MetricsGathered selfstat.Stat GatherTime 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) MakeMetric ¶
func (r *RunningInput) MakeMetric(metric telegraf.Metric) telegraf.Metric
func (*RunningInput) Name ¶
func (r *RunningInput) Name() string
func (*RunningInput) SetDefaultTags ¶
func (r *RunningInput) SetDefaultTags(tags map[string]string)
type RunningOutput ¶
type RunningOutput struct { Name string Output telegraf.Output Config *OutputConfig MetricBufferLimit int MetricBatchSize int MetricsFiltered selfstat.Stat BufferSize selfstat.Stat BufferLimit selfstat.Stat WriteTime selfstat.Stat BatchReady chan time.Time // 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 ¶
func (ro *RunningOutput) AddMetric(metric telegraf.Metric)
AddMetric adds a metric to the output.
Takes ownership of metric
func (*RunningOutput) LogBufferStatus ¶
func (ro *RunningOutput) LogBufferStatus()
func (*RunningOutput) Write ¶
func (ro *RunningOutput) Write() error
Write writes all metrics to the output, stopping when all have been sent on or error.
func (*RunningOutput) WriteBatch ¶
func (ro *RunningOutput) WriteBatch() error
WriteBatch writes only the batch metrics to the output.
type RunningProcessor ¶
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)