Create experimental directory for inputs & outputs

This commit is contained in:
Cameron Sparr 2016-09-07 14:54:24 +01:00
parent e963b7f01b
commit 67483c85a5
9 changed files with 66 additions and 15 deletions

View File

@ -1,16 +1,17 @@
## Steps for Contributing:
1. [Sign the CLA](http://influxdb.com/community/cla.html)
1. Make changes or write plugin (see below for details)
1. Add your plugin to `plugins/inputs/all/all.go` or `plugins/outputs/all/all.go`
1. If your plugin requires a new Go package,
[add it](https://github.com/influxdata/telegraf/blob/master/CONTRIBUTING.md#adding-a-dependency)
1. If you are adding a new plugin:
1. All new plugins must go into the `experimental` directory: `plugins/experimental/inputs/` or `plugins/experimental/outputs/`
1. Add your plugin to `plugins/experimental/inputs/all/all.go` or `plugins/experimental/outputs/all/all.go`
1. If your plugin requires a new Go package, [add it](https://github.com/influxdata/telegraf/blob/master/CONTRIBUTING.md#adding-a-dependency)
1. Write a README for your plugin, if it's an input plugin, it should be structured
like the [input example here](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/EXAMPLE_README.md).
Output plugins READMEs are less structured,
but any information you can provide on how the data will look is appreciated.
See the [OpenTSDB output](https://github.com/influxdata/telegraf/tree/master/plugins/outputs/opentsdb)
for a good example.
for a good example. All plugin READMEs must include links to relevant
documentation.
1. **Optional:** Help users of your plugin by including example queries for populating dashboards. Include these sample queries in the `README.md` for the plugin.
1. **Optional:** Write a [tickscript](https://docs.influxdata.com/kapacitor/v1.0/tick/syntax/) for your plugin and add it to [Kapacitor](https://github.com/influxdata/kapacitor/tree/master/examples/telegraf). Or mention @jackzampolin in a PR comment with some common queries that you would want to alert on and he will write one for you.

View File

@ -15,6 +15,10 @@ windows: prepare-windows build-windows
build:
go install -ldflags "-X main.version=$(VERSION)" ./...
# Only run the build (no dependency grabbing)
experimental:
go install -tags experimental -ldflags "-X main.version=experimental-$(VERSION)" ./...
build-windows:
GOOS=windows GOARCH=amd64 go build -o telegraf.exe -ldflags \
"-X main.version=$(VERSION)" \

View File

@ -13,10 +13,14 @@ import (
"github.com/influxdata/telegraf/agent"
"github.com/influxdata/telegraf/internal/config"
"github.com/influxdata/telegraf/plugins/inputs"
_ "github.com/influxdata/telegraf/plugins/inputs/all"
"github.com/influxdata/telegraf/plugins/outputs"
_ "github.com/influxdata/telegraf/plugins/outputs/all"
"github.com/kardianos/service"
_ "github.com/influxdata/telegraf/plugins/experimental/inputs/all"
_ "github.com/influxdata/telegraf/plugins/experimental/outputs/all"
_ "github.com/influxdata/telegraf/plugins/inputs/all"
_ "github.com/influxdata/telegraf/plugins/outputs/all"
)
var fDebug = flag.Bool("debug", false,

View File

@ -0,0 +1,5 @@
// +build experimental
package all
import ()

View File

@ -0,0 +1,3 @@
// +build !experimental
package all

View File

@ -0,0 +1,5 @@
// +build experimental
package all
import ()

View File

@ -0,0 +1,3 @@
// +build !experimental
package all

View File

@ -2,6 +2,8 @@
The example plugin gathers metrics about example things
You can read more information about this thing [here](https://google.com).
### Configuration:
```toml

View File

@ -8,6 +8,30 @@ metrics is sent in each http request by setting batchSize in config.
See http://opentsdb.net/docs/build/html/api_http/put.html for details.
## Configuration
```toml
# Configuration for OpenTSDB server to send metrics to
[[outputs.opentsdb]]
## prefix for metrics keys
prefix = "my.specific.prefix."
## DNS name of the OpenTSDB server
## Using "opentsdb.example.com" or "tcp://opentsdb.example.com" will use the
## telnet API. "http://opentsdb.example.com" will use the Http API.
host = "opentsdb.example.com"
## Port of the OpenTSDB server
port = 4242
## Number of data points to send to OpenTSDB in Http requests.
## Not used with telnet API.
httpBatchSize = 50
## Debug true - Prints OpenTSDB communication
debug = false
```
## Transfer "Protocol" in the telnet mode
The expected input from OpenTSDB is specified in the following way: