Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Accumulator ¶
type Accumulator interface { // AddFields adds a metric to the accumulator with the given measurement // name, fields, and tags (and timestamp). If a timestamp is not provided, // then the accumulator sets it to "now". // Create a point with a value, decorating it with tags // NOTE: tags is expected to be owned by the caller, don't mutate // it after passing to Add. AddFields(measurement string, fields map[string]interface{}, tags map[string]string, t ...time.Time) // AddGauge is the same as AddFields, but will add the metric as a "Gauge" type AddGauge(measurement string, fields map[string]interface{}, tags map[string]string, t ...time.Time) // AddCounter is the same as AddFields, but will add the metric as a "Counter" type AddCounter(measurement string, fields map[string]interface{}, tags map[string]string, t ...time.Time) // AddSummary is the same as AddFields, but will add the metric as a "Summary" type AddSummary(measurement string, fields map[string]interface{}, tags map[string]string, t ...time.Time) // AddHistogram is the same as AddFields, but will add the metric as a "Histogram" type AddHistogram(measurement string, fields map[string]interface{}, tags map[string]string, t ...time.Time) SetPrecision(precision, interval time.Duration) AddError(err error) }
Accumulator is an interface for "accumulating" metrics from plugin(s). The metrics are sent down a channel shared between all plugins.
type Aggregator ¶
type Aggregator interface { // SampleConfig returns the default configuration of the Input. SampleConfig() string // Description returns a one-sentence description on the Input. Description() string // Add the metric to the aggregator. Add(in Metric) // Push pushes the current aggregates to the accumulator. Push(acc Accumulator) // Reset resets the aggregators caches and aggregates. Reset() }
Aggregator is an interface for implementing an Aggregator plugin. the RunningAggregator wraps this interface and guarantees that Add, Push, and Reset can not be called concurrently, so locking is not required when implementing an Aggregator plugin.
type Input ¶
type Input interface { // SampleConfig returns the default configuration of the Input SampleConfig() string // Description returns a one-sentence description on the Input Description() string // Gather takes in an accumulator and adds the metrics that the Input // gathers. This is called every "interval" Gather(Accumulator) error }
type Metric ¶
type Metric interface { // Serialize serializes the metric into a line-protocol byte buffer, // including a newline at the end. Serialize() []byte // same as Serialize, but avoids an allocation. // returns number of bytes copied into dst. SerializeTo(dst []byte) int // String is the same as Serialize, but returns a string. String() string // Copy deep-copies the metric. Copy() Metric // Split will attempt to return multiple metrics with the same timestamp // whose string representations are no longer than maxSize. // Metrics with a single field may exceed the requested size. Split(maxSize int) []Metric // Tag functions HasTag(key string) bool AddTag(key, value string) RemoveTag(key string) // Field functions HasField(key string) bool AddField(key string, value interface{}) RemoveField(key string) error // Name functions SetName(name string) SetPrefix(prefix string) SetSuffix(suffix string) // Getting data structure functions Name() string Tags() map[string]string Fields() map[string]interface{} Time() time.Time UnixNano() int64 Type() ValueType Len() int // returns the length of the serialized metric, including newline HashID() uint64 // aggregator things: SetAggregate(bool) IsAggregate() bool }
type Output ¶
type Output interface { // Connect to the Output Connect() error // Close any connections to the Output Close() error // Description returns a one-sentence description on the Output Description() string // SampleConfig returns the default configuration of the Output SampleConfig() string // Write takes in group of points to be written to the Output Write(metrics []Metric) error }
type ServiceInput ¶
type ServiceInput interface { // SampleConfig returns the default configuration of the Input SampleConfig() string // Description returns a one-sentence description on the Input Description() string // Gather takes in an accumulator and adds the metrics that the Input // gathers. This is called every "interval" Gather(Accumulator) error // Start starts the ServiceInput's service, whatever that may be Start(Accumulator) error // Stop stops the services and closes any necessary channels and connections Stop() }
type ServiceOutput ¶
type ServiceOutput interface { // Connect to the Output Connect() error // Close any connections to the Output Close() error // Description returns a one-sentence description on the Output Description() string // SampleConfig returns the default configuration of the Output SampleConfig() string // Write takes in group of points to be written to the Output Write(metrics []Metric) error // Start the "service" that will provide an Output Start() error // Stop the "service" that will provide an Output Stop() }
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
cmd
|
|
plugins
|
|
inputs/aos/aos_streaming
Package aos_streaming is a generated protocol buffer package.
|
Package aos_streaming is a generated protocol buffer package. |
inputs/docker
Helper functions copied from https://github.com/docker/cli/blob/master/cli/command/container/stats_helpers.go
|
Helper functions copied from https://github.com/docker/cli/blob/master/cli/command/container/stats_helpers.go |
inputs/lustre2
Lustre 2.x telegraf plugin Lustre (http://lustre.org/) is an open-source, parallel file system for HPC environments.
|
Lustre 2.x telegraf plugin Lustre (http://lustre.org/) is an open-source, parallel file system for HPC environments. |
inputs/minecraft/internal/rcon
Package rcon implements the communication protocol for communicating with RCON servers.
|
Package rcon implements the communication protocol for communicating with RCON servers. |
inputs/phpfpm
Package fcgi implements the FastCGI protocol.
|
Package fcgi implements the FastCGI protocol. |
inputs/zipkin/cmd/thrift_serialize
A small cli utility meant to convert json to zipkin thrift binary format, and vice versa.
|
A small cli utility meant to convert json to zipkin thrift binary format, and vice versa. |
selfstat is a package for tracking and collecting internal statistics about telegraf.
|
selfstat is a package for tracking and collecting internal statistics about telegraf. |
Click to show internal directories.
Click to hide internal directories.