Skip to content

Commit

Permalink
Add telegraf and go version to the internal input plugin (influxdata#…
Browse files Browse the repository at this point in the history
  • Loading branch information
adrianlzt authored and idohalevi committed Sep 23, 2020
1 parent 555864a commit 344dc48
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 12 deletions.
21 changes: 12 additions & 9 deletions plugins/inputs/internal/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,16 @@ agent stats collect aggregate stats on all telegraf plugins.
- metrics_written

internal_gather stats collect aggregate stats on all input plugins
that are of the same input type. They are tagged with `input=<plugin_name>`.
that are of the same input type. They are tagged with `input=<plugin_name>`
`version=<telegraf_version>` and `go_version=<go_build_version>`.

- internal_gather
- gather_time_ns
- metrics_gathered

internal_write stats collect aggregate stats on all output plugins
that are of the same input type. They are tagged with `output=<plugin_name>`.
that are of the same input type. They are tagged with `output=<plugin_name>`
and `version=<telegraf_version>`.


- internal_write
Expand All @@ -63,23 +65,24 @@ that are of the same input type. They are tagged with `output=<plugin_name>`.

internal_<plugin_name> are metrics which are defined on a per-plugin basis, and
usually contain tags which differentiate each instance of a particular type of
plugin.
plugin and `version=<telegraf_version>`.

- internal_<plugin_name>
- individual plugin-specific fields, such as requests counts.

### Tags:

All measurements for specific plugins are tagged with information relevant
to each particular plugin.
to each particular plugin and with `version=<telegraf_version>`.


### Example Output:

```
internal_memstats,host=tyrion alloc_bytes=4457408i,sys_bytes=10590456i,pointer_lookups=7i,mallocs=17642i,frees=7473i,heap_sys_bytes=6848512i,heap_idle_bytes=1368064i,heap_in_use_bytes=5480448i,heap_released_bytes=0i,total_alloc_bytes=6875560i,heap_alloc_bytes=4457408i,heap_objects_bytes=10169i,num_gc=2i 1480682800000000000
internal_agent,host=tyrion metrics_written=18i,metrics_dropped=0i,metrics_gathered=19i,gather_errors=0i 1480682800000000000
internal_write,output=file,host=tyrion buffer_limit=10000i,write_time_ns=636609i,metrics_added=18i,metrics_written=18i,buffer_size=0i 1480682800000000000
internal_gather,input=internal,host=tyrion metrics_gathered=19i,gather_time_ns=442114i 1480682800000000000
internal_gather,input=http_listener,host=tyrion metrics_gathered=0i,gather_time_ns=167285i 1480682800000000000
internal_http_listener,address=:8186,host=tyrion queries_received=0i,writes_received=0i,requests_received=0i,buffers_created=0i,requests_served=0i,pings_received=0i,bytes_received=0i,not_founds_served=0i,pings_served=0i,queries_served=0i,writes_served=0i 1480682800000000000
internal_agent,host=tyrion,go_version=1.12.7,version=1.99.0 metrics_written=18i,metrics_dropped=0i,metrics_gathered=19i,gather_errors=0i 1480682800000000000
internal_write,output=file,host=tyrion,version=1.99.0 buffer_limit=10000i,write_time_ns=636609i,metrics_added=18i,metrics_written=18i,buffer_size=0i 1480682800000000000
internal_gather,input=internal,host=tyrion,version=1.99.0 metrics_gathered=19i,gather_time_ns=442114i 1480682800000000000
internal_gather,input=http_listener,host=tyrion,version=1.99.0 metrics_gathered=0i,gather_time_ns=167285i 1480682800000000000
internal_http_listener,address=:8186,host=tyrion,version=1.99.0 queries_received=0i,writes_received=0i,requests_received=0i,buffers_created=0i,requests_served=0i,pings_received=0i,bytes_received=0i,not_founds_served=0i,pings_served=0i,queries_served=0i,writes_served=0i 1480682800000000000
```
9 changes: 9 additions & 0 deletions plugins/inputs/internal/internal.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ package internal

import (
"runtime"
"strings"

"github.com/influxdata/telegraf"
inter "github.com/influxdata/telegraf/internal"
"github.com/influxdata/telegraf/plugins/inputs"
"github.com/influxdata/telegraf/selfstat"
)
Expand Down Expand Up @@ -54,7 +56,14 @@ func (s *Self) Gather(acc telegraf.Accumulator) error {
acc.AddFields("internal_memstats", fields, map[string]string{})
}

telegrafVersion := inter.Version()
goVersion := strings.TrimPrefix(runtime.Version(), "go")

for _, m := range selfstat.Metrics() {
if m.Name() == "internal_agent" {
m.AddTag("go_version", goVersion)
}
m.AddTag("version", telegrafVersion)
acc.AddFields(m.Name(), m.Fields(), m.Tags(), m.Time())
}

Expand Down
9 changes: 6 additions & 3 deletions plugins/inputs/internal/internal_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@ func TestSelfPlugin(t *testing.T) {
"test": int64(3),
},
map[string]string{
"test": "foo",
"test": "foo",
"version": "",
},
)
acc.ClearMetrics()
Expand All @@ -39,7 +40,8 @@ func TestSelfPlugin(t *testing.T) {
"test": int64(101),
},
map[string]string{
"test": "foo",
"test": "foo",
"version": "",
},
)
acc.ClearMetrics()
Expand All @@ -56,7 +58,8 @@ func TestSelfPlugin(t *testing.T) {
"test_ns": int64(150),
},
map[string]string{
"test": "foo",
"test": "foo",
"version": "",
},
)
}

0 comments on commit 344dc48

Please sign in to comment.