Update documentation for Gauge & Counters
This commit is contained in:
parent
b18d375d6c
commit
54c9ba7639
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
### Features
|
### Features
|
||||||
|
|
||||||
|
- [#1694](https://github.com/influxdata/telegraf/pull/1694): Adding Gauge and Counter metric types.
|
||||||
- [#1606](https://github.com/influxdata/telegraf/pull/1606): Remove carraige returns from exec plugin output on Windows
|
- [#1606](https://github.com/influxdata/telegraf/pull/1606): Remove carraige returns from exec plugin output on Windows
|
||||||
- [#1674](https://github.com/influxdata/telegraf/issues/1674): elasticsearch input: configurable timeout.
|
- [#1674](https://github.com/influxdata/telegraf/issues/1674): elasticsearch input: configurable timeout.
|
||||||
- [#1607](https://github.com/influxdata/telegraf/pull/1607): Massage metric names in Instrumental output plugin
|
- [#1607](https://github.com/influxdata/telegraf/pull/1607): Massage metric names in Instrumental output plugin
|
||||||
|
|
|
@ -32,7 +32,7 @@ Assuming you can already build the project, run these in the telegraf directory:
|
||||||
|
|
||||||
1. `go get github.com/sparrc/gdm`
|
1. `go get github.com/sparrc/gdm`
|
||||||
1. `gdm restore`
|
1. `gdm restore`
|
||||||
1. `gdm save`
|
1. `GOOS=linux gdm save`
|
||||||
|
|
||||||
## Input Plugins
|
## Input Plugins
|
||||||
|
|
||||||
|
@ -84,9 +84,9 @@ func (s *Simple) SampleConfig() string {
|
||||||
|
|
||||||
func (s *Simple) Gather(acc telegraf.Accumulator) error {
|
func (s *Simple) Gather(acc telegraf.Accumulator) error {
|
||||||
if s.Ok {
|
if s.Ok {
|
||||||
acc.Add("state", "pretty good", nil)
|
acc.AddFields("state", map[string]interface{}{"value": "pretty good"}, nil)
|
||||||
} else {
|
} else {
|
||||||
acc.Add("state", "not great", nil)
|
acc.AddFields("state", map[string]interface{}{"value": "not great"}, nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
@ -97,6 +97,13 @@ func init() {
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Adding Typed Metrics
|
||||||
|
|
||||||
|
In addition the the `AddFields` function, the accumulator also supports an
|
||||||
|
`AddGauge` and `AddCounter` function. These functions are for adding _typed_
|
||||||
|
metrics. Metric types are ignored for the InfluxDB output, but can be used
|
||||||
|
for other outputs, such as [prometheus](https://prometheus.io/docs/concepts/metric_types/).
|
||||||
|
|
||||||
## Input Plugins Accepting Arbitrary Data Formats
|
## Input Plugins Accepting Arbitrary Data Formats
|
||||||
|
|
||||||
Some input plugins (such as
|
Some input plugins (such as
|
||||||
|
|
|
@ -2,7 +2,13 @@ package telegraf
|
||||||
|
|
||||||
import "time"
|
import "time"
|
||||||
|
|
||||||
|
// Accumulator is an interface for "accumulating" metrics from input plugin(s).
|
||||||
|
// The metrics are sent down a channel shared between all input plugins and then
|
||||||
|
// flushed on the configured flush_interval.
|
||||||
type Accumulator interface {
|
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
|
// Create a point with a value, decorating it with tags
|
||||||
// NOTE: tags is expected to be owned by the caller, don't mutate
|
// NOTE: tags is expected to be owned by the caller, don't mutate
|
||||||
// it after passing to Add.
|
// it after passing to Add.
|
||||||
|
@ -11,15 +17,13 @@ type Accumulator interface {
|
||||||
tags map[string]string,
|
tags map[string]string,
|
||||||
t ...time.Time)
|
t ...time.Time)
|
||||||
|
|
||||||
// AddGauge is the same as AddFields, but will add the metric as a "Gauge"
|
// AddGauge is the same as AddFields, but will add the metric as a "Gauge" type
|
||||||
// type
|
|
||||||
AddGauge(measurement string,
|
AddGauge(measurement string,
|
||||||
fields map[string]interface{},
|
fields map[string]interface{},
|
||||||
tags map[string]string,
|
tags map[string]string,
|
||||||
t ...time.Time)
|
t ...time.Time)
|
||||||
|
|
||||||
// AddCounter is the same as AddFields, but will add the metric as a "Counter"
|
// AddCounter is the same as AddFields, but will add the metric as a "Counter" type
|
||||||
// type
|
|
||||||
AddCounter(measurement string,
|
AddCounter(measurement string,
|
||||||
fields map[string]interface{},
|
fields map[string]interface{},
|
||||||
tags map[string]string,
|
tags map[string]string,
|
||||||
|
|
Loading…
Reference in New Issue