From 9db30250c345909e58fb6b8e43b512408395cd43 Mon Sep 17 00:00:00 2001 From: Cameron Sparr Date: Wed, 23 Nov 2016 12:21:17 +0000 Subject: [PATCH] 'discard' output plugin --- CHANGELOG.md | 1 + README.md | 1 + plugins/outputs/all/all.go | 1 + plugins/outputs/discard/README.md | 12 ++++++++++++ plugins/outputs/discard/discard.go | 18 ++++++++++++++++++ 5 files changed, 33 insertions(+) create mode 100644 plugins/outputs/discard/README.md create mode 100644 plugins/outputs/discard/discard.go diff --git a/CHANGELOG.md b/CHANGELOG.md index 157c8d476..9da2ba0d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - [#1564](https://github.com/influxdata/telegraf/issues/1564): Use RFC3339 timestamps in log output. - [#1997](https://github.com/influxdata/telegraf/issues/1997): Non-default HTTP timeouts for RabbitMQ plugin. +- [#2074](https://github.com/influxdata/telegraf/pull/2074): "discard" output plugin added, primarily for testing purposes. ### Bugfixes diff --git a/README.md b/README.md index 92ebf19ee..6577eafc8 100644 --- a/README.md +++ b/README.md @@ -245,6 +245,7 @@ Telegraf can also collect metrics via the following service plugins: * [aws kinesis](./plugins/outputs/kinesis) * [aws cloudwatch](./plugins/outputs/cloudwatch) * [datadog](./plugins/outputs/datadog) +* [discard](./plugins/outputs/discard) * [file](./plugins/outputs/file) * [graphite](./plugins/outputs/graphite) * [graylog](./plugins/outputs/graylog) diff --git a/plugins/outputs/all/all.go b/plugins/outputs/all/all.go index 28354e7e4..96091b2ad 100644 --- a/plugins/outputs/all/all.go +++ b/plugins/outputs/all/all.go @@ -5,6 +5,7 @@ import ( _ "github.com/influxdata/telegraf/plugins/outputs/amqp" _ "github.com/influxdata/telegraf/plugins/outputs/cloudwatch" _ "github.com/influxdata/telegraf/plugins/outputs/datadog" + _ "github.com/influxdata/telegraf/plugins/outputs/discard" _ "github.com/influxdata/telegraf/plugins/outputs/file" _ "github.com/influxdata/telegraf/plugins/outputs/graphite" _ "github.com/influxdata/telegraf/plugins/outputs/graylog" diff --git a/plugins/outputs/discard/README.md b/plugins/outputs/discard/README.md new file mode 100644 index 000000000..e1c70b742 --- /dev/null +++ b/plugins/outputs/discard/README.md @@ -0,0 +1,12 @@ +# discard Output Plugin + +This output plugin simply drops all metrics that are sent to it. It is only +meant to be used for testing purposes. + +### Configuration: + +```toml +# Send metrics to nowhere at all +[[outputs.discard]] + # no configuration +``` diff --git a/plugins/outputs/discard/discard.go b/plugins/outputs/discard/discard.go new file mode 100644 index 000000000..4a6d634b7 --- /dev/null +++ b/plugins/outputs/discard/discard.go @@ -0,0 +1,18 @@ +package discard + +import ( + "github.com/influxdata/telegraf" + "github.com/influxdata/telegraf/plugins/outputs" +) + +type Discard struct{} + +func (d *Discard) Connect() error { return nil } +func (d *Discard) Close() error { return nil } +func (d *Discard) SampleConfig() string { return "" } +func (d *Discard) Description() string { return "Send metrics to nowhere at all" } +func (d *Discard) Write(metrics []telegraf.Metric) error { return nil } + +func init() { + outputs.Add("discard", func() telegraf.Output { return &Discard{} }) +}