diff --git a/circle.yml b/circle.yml index c237040a29b3a..283c63ad06334 100644 --- a/circle.yml +++ b/circle.yml @@ -4,9 +4,9 @@ machine: post: - sudo service zookeeper stop - go version - - go version | grep 1.7.5 || sudo rm -rf /usr/local/go - - wget https://storage.googleapis.com/golang/go1.7.5.linux-amd64.tar.gz - - sudo tar -C /usr/local -xzf go1.7.5.linux-amd64.tar.gz + - sudo rm -rf /usr/local/go + - wget https://storage.googleapis.com/golang/go1.8rc3.linux-amd64.tar.gz + - sudo tar -C /usr/local -xzf go1.8rc3.linux-amd64.tar.gz - go version dependencies: diff --git a/cmd/telegraf/telegraf.go b/cmd/telegraf/telegraf.go index 16f7845d0507a..be22fdf3a29cc 100644 --- a/cmd/telegraf/telegraf.go +++ b/cmd/telegraf/telegraf.go @@ -6,6 +6,9 @@ import ( "log" "os" "os/signal" + "path" + "path/filepath" + "plugin" "runtime" "strings" "syscall" @@ -13,12 +16,15 @@ import ( "github.com/influxdata/telegraf/agent" "github.com/influxdata/telegraf/internal/config" "github.com/influxdata/telegraf/logger" + "github.com/influxdata/telegraf/registry" + "github.com/influxdata/telegraf/registry/inputs" + "github.com/influxdata/telegraf/registry/outputs" + _ "github.com/influxdata/telegraf/plugins/aggregators/all" - "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/influxdata/telegraf/plugins/processors/all" + "github.com/kardianos/service" ) @@ -50,6 +56,8 @@ var fUsage = flag.String("usage", "", "print usage for a plugin, ie, 'telegraf -usage mysql'") var fService = flag.String("service", "", "operate on the service") +var fPlugins = flag.String("plugins", "", + "path to directory containing external plugins") // Telegraf version, populated linker. // ie, -ldflags "-X main.version=`git describe --always --tags`" @@ -246,11 +254,62 @@ func (p *program) Stop(s service.Service) error { return nil } +// loadExternalPlugins loads external plugins from shared libraries (.so, .dll, etc.) +// in the specified directory. +func loadExternalPlugins(rootDir string) error { + return filepath.Walk(rootDir, func(pth string, info os.FileInfo, err error) error { + // Stop if there was an error. + if err != nil { + return err + } + + // Ignore directories. + if info.IsDir() { + return nil + } + + // Ignore files that aren't shared libraries. + ext := strings.ToLower(path.Ext(pth)) + if ext != ".so" && ext != ".dll" { + return nil + } + + // name will be the path to the plugin file beginning at the root + // directory, minus the extension. + // ie, if the plugin file is /opt/telegraf-plugins/group1/foo.so, name + // will be "group1/foo" + name := strings.TrimPrefix(strings.TrimPrefix(pth, rootDir), string(os.PathSeparator)) + name = strings.TrimSuffix(name, filepath.Ext(pth)) + registry.SetName("external" + string(os.PathSeparator) + name) + defer registry.SetName("") + + // Load plugin. + _, err = plugin.Open(pth) + if err != nil { + return fmt.Errorf("error loading [%s]: %s", pth, err) + } + + return nil + }) +} + func main() { flag.Usage = func() { usageExit(0) } flag.Parse() args := flag.Args() + // Load external plugins, if requested. + if *fPlugins != "" { + pluginsDir, err := filepath.Abs(*fPlugins) + if err != nil { + log.Fatal("E! " + err.Error()) + } + log.Printf("I! Loading external plugins from: %s\n", pluginsDir) + if err := loadExternalPlugins(*fPlugins); err != nil { + log.Fatal("E! " + err.Error()) + } + } + inputFilters, outputFilters := []string{}, []string{} if *fInputFilters != "" { inputFilters = strings.Split(":"+strings.TrimSpace(*fInputFilters)+":", ":") diff --git a/internal/config/config.go b/internal/config/config.go index 24dec4169bfc9..763fe6ad003ed 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -18,12 +18,12 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" "github.com/influxdata/telegraf/internal/models" - "github.com/influxdata/telegraf/plugins/aggregators" - "github.com/influxdata/telegraf/plugins/inputs" - "github.com/influxdata/telegraf/plugins/outputs" "github.com/influxdata/telegraf/plugins/parsers" - "github.com/influxdata/telegraf/plugins/processors" "github.com/influxdata/telegraf/plugins/serializers" + "github.com/influxdata/telegraf/registry/aggregators" + "github.com/influxdata/telegraf/registry/inputs" + "github.com/influxdata/telegraf/registry/outputs" + "github.com/influxdata/telegraf/registry/processors" "github.com/influxdata/config" "github.com/influxdata/toml" @@ -40,6 +40,14 @@ var ( // envVarRe is a regex to find environment variables in the config file envVarRe = regexp.MustCompile(`\$\w+`) + + // addQuoteRe is a regex for finding and adding quotes around / characters + // when they are used for distinguishing external plugins. + // ie, a ReplaceAll() with this pattern will be used to turn this: + // [[inputs.external/test/example]] + // to + // [[inputs."external/test/example"]] + addQuoteRe = regexp.MustCompile(`(\[?\[?inputs|outputs|processors|aggregators)\.(external\/[^.\]]+)`) ) // Config specifies the URL/user/password for the database that telegraf @@ -701,6 +709,9 @@ func parseFile(fpath string) (*ast.Table, error) { } } + // add quotes around external plugin paths. + contents = addQuoteRe.ReplaceAll(contents, []byte(`$1."$2"`)) + return toml.Parse(contents) } diff --git a/internal/config/config_test.go b/internal/config/config_test.go index 3498d815d0078..fb8904262378e 100644 --- a/internal/config/config_test.go +++ b/internal/config/config_test.go @@ -6,11 +6,11 @@ import ( "time" "github.com/influxdata/telegraf/internal/models" - "github.com/influxdata/telegraf/plugins/inputs" "github.com/influxdata/telegraf/plugins/inputs/exec" "github.com/influxdata/telegraf/plugins/inputs/memcached" "github.com/influxdata/telegraf/plugins/inputs/procstat" "github.com/influxdata/telegraf/plugins/parsers" + "github.com/influxdata/telegraf/registry/inputs" "github.com/stretchr/testify/assert" ) diff --git a/plugins/aggregators/minmax/minmax.go b/plugins/aggregators/minmax/minmax.go index 1c83c0cc21d80..b663c7e808646 100644 --- a/plugins/aggregators/minmax/minmax.go +++ b/plugins/aggregators/minmax/minmax.go @@ -2,7 +2,7 @@ package minmax import ( "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/aggregators" + "github.com/influxdata/telegraf/registry/aggregators" ) type MinMax struct { diff --git a/plugins/aggregators/registry.go b/plugins/aggregators/registry.go deleted file mode 100644 index 77a9c9a643485..0000000000000 --- a/plugins/aggregators/registry.go +++ /dev/null @@ -1,11 +0,0 @@ -package aggregators - -import "github.com/influxdata/telegraf" - -type Creator func() telegraf.Aggregator - -var Aggregators = map[string]Creator{} - -func Add(name string, creator Creator) { - Aggregators[name] = creator -} diff --git a/plugins/inputs/aerospike/aerospike.go b/plugins/inputs/aerospike/aerospike.go index 10f7fcd40a6bb..f60fa9402206b 100644 --- a/plugins/inputs/aerospike/aerospike.go +++ b/plugins/inputs/aerospike/aerospike.go @@ -11,7 +11,7 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal/errchan" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" as "github.com/aerospike/aerospike-client-go" ) diff --git a/plugins/inputs/apache/apache.go b/plugins/inputs/apache/apache.go index 85e7ee4d9c136..c67f4d5ba5748 100644 --- a/plugins/inputs/apache/apache.go +++ b/plugins/inputs/apache/apache.go @@ -12,7 +12,7 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) type Apache struct { diff --git a/plugins/inputs/bcache/bcache.go b/plugins/inputs/bcache/bcache.go index 1171dbd921ab5..83ba4374e874a 100644 --- a/plugins/inputs/bcache/bcache.go +++ b/plugins/inputs/bcache/bcache.go @@ -9,7 +9,7 @@ import ( "strings" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) type Bcache struct { diff --git a/plugins/inputs/cassandra/cassandra.go b/plugins/inputs/cassandra/cassandra.go index 710a2b661c878..b53e6ae116b65 100644 --- a/plugins/inputs/cassandra/cassandra.go +++ b/plugins/inputs/cassandra/cassandra.go @@ -5,7 +5,7 @@ import ( "errors" "fmt" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" "io/ioutil" "log" "net/http" diff --git a/plugins/inputs/ceph/ceph.go b/plugins/inputs/ceph/ceph.go index 7c03b626250fb..38db5d006b5f7 100644 --- a/plugins/inputs/ceph/ceph.go +++ b/plugins/inputs/ceph/ceph.go @@ -11,7 +11,7 @@ import ( "strings" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) const ( diff --git a/plugins/inputs/cgroup/cgroup.go b/plugins/inputs/cgroup/cgroup.go index cc5e4b4968f2d..337c7b4d6c952 100644 --- a/plugins/inputs/cgroup/cgroup.go +++ b/plugins/inputs/cgroup/cgroup.go @@ -2,7 +2,7 @@ package cgroup import ( "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) type CGroup struct { diff --git a/plugins/inputs/chrony/chrony.go b/plugins/inputs/chrony/chrony.go index f391089212dc4..2d08aea88e831 100644 --- a/plugins/inputs/chrony/chrony.go +++ b/plugins/inputs/chrony/chrony.go @@ -12,7 +12,7 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) var ( diff --git a/plugins/inputs/cloudwatch/cloudwatch.go b/plugins/inputs/cloudwatch/cloudwatch.go index a812c12651101..31e45fc07d0a2 100644 --- a/plugins/inputs/cloudwatch/cloudwatch.go +++ b/plugins/inputs/cloudwatch/cloudwatch.go @@ -15,7 +15,7 @@ import ( internalaws "github.com/influxdata/telegraf/internal/config/aws" "github.com/influxdata/telegraf/internal/errchan" "github.com/influxdata/telegraf/internal/limiter" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) type ( diff --git a/plugins/inputs/conntrack/conntrack.go b/plugins/inputs/conntrack/conntrack.go index 841aedb545a03..4076dcc4d511a 100644 --- a/plugins/inputs/conntrack/conntrack.go +++ b/plugins/inputs/conntrack/conntrack.go @@ -10,7 +10,7 @@ import ( "strings" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" "log" "path/filepath" ) diff --git a/plugins/inputs/consul/consul.go b/plugins/inputs/consul/consul.go index 0eaa2560498e3..ba58afbb47ef0 100644 --- a/plugins/inputs/consul/consul.go +++ b/plugins/inputs/consul/consul.go @@ -6,7 +6,7 @@ import ( "github.com/hashicorp/consul/api" "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) type Consul struct { diff --git a/plugins/inputs/couchbase/couchbase.go b/plugins/inputs/couchbase/couchbase.go index 48e0c1a75e135..4a88845deb7c8 100644 --- a/plugins/inputs/couchbase/couchbase.go +++ b/plugins/inputs/couchbase/couchbase.go @@ -3,7 +3,7 @@ package couchbase import ( couchbase "github.com/couchbase/go-couchbase" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" "sync" ) diff --git a/plugins/inputs/couchdb/couchdb.go b/plugins/inputs/couchdb/couchdb.go index bf241649a49ce..784ffdbbb0c09 100644 --- a/plugins/inputs/couchdb/couchdb.go +++ b/plugins/inputs/couchdb/couchdb.go @@ -5,7 +5,7 @@ import ( "errors" "fmt" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" "net/http" "reflect" "strings" diff --git a/plugins/inputs/disque/disque.go b/plugins/inputs/disque/disque.go index 0e4baf9cb8d42..288aa468d7926 100644 --- a/plugins/inputs/disque/disque.go +++ b/plugins/inputs/disque/disque.go @@ -12,7 +12,7 @@ import ( "time" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) type Disque struct { diff --git a/plugins/inputs/dns_query/dns_query.go b/plugins/inputs/dns_query/dns_query.go index 1bccc52c0b5b9..cba618f7e1fe1 100644 --- a/plugins/inputs/dns_query/dns_query.go +++ b/plugins/inputs/dns_query/dns_query.go @@ -10,7 +10,7 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal/errchan" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) type DnsQuery struct { diff --git a/plugins/inputs/docker/docker.go b/plugins/inputs/docker/docker.go index 82a3791b6e37e..a025e45f92d7d 100644 --- a/plugins/inputs/docker/docker.go +++ b/plugins/inputs/docker/docker.go @@ -17,7 +17,7 @@ import ( "github.com/docker/engine-api/types" "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) // Docker object diff --git a/plugins/inputs/dovecot/dovecot.go b/plugins/inputs/dovecot/dovecot.go index 56290e75924a1..5cce520936a4f 100644 --- a/plugins/inputs/dovecot/dovecot.go +++ b/plugins/inputs/dovecot/dovecot.go @@ -13,7 +13,7 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal/errchan" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) type Dovecot struct { diff --git a/plugins/inputs/elasticsearch/elasticsearch.go b/plugins/inputs/elasticsearch/elasticsearch.go index 370e3fbdd3567..7cbd841f24962 100644 --- a/plugins/inputs/elasticsearch/elasticsearch.go +++ b/plugins/inputs/elasticsearch/elasticsearch.go @@ -11,8 +11,8 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" "github.com/influxdata/telegraf/internal/errchan" - "github.com/influxdata/telegraf/plugins/inputs" jsonparser "github.com/influxdata/telegraf/plugins/parsers/json" + "github.com/influxdata/telegraf/registry/inputs" "io/ioutil" "strings" ) diff --git a/plugins/inputs/exec/exec.go b/plugins/inputs/exec/exec.go index 154080138c88f..09fa138902f1f 100644 --- a/plugins/inputs/exec/exec.go +++ b/plugins/inputs/exec/exec.go @@ -16,9 +16,9 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" "github.com/influxdata/telegraf/internal/errchan" - "github.com/influxdata/telegraf/plugins/inputs" "github.com/influxdata/telegraf/plugins/parsers" "github.com/influxdata/telegraf/plugins/parsers/nagios" + "github.com/influxdata/telegraf/registry/inputs" ) const sampleConfig = ` diff --git a/plugins/inputs/filestat/filestat.go b/plugins/inputs/filestat/filestat.go index 83f511a84ee06..8378f41fdf593 100644 --- a/plugins/inputs/filestat/filestat.go +++ b/plugins/inputs/filestat/filestat.go @@ -9,7 +9,7 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal/globpath" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) const sampleConfig = ` diff --git a/plugins/inputs/graylog/graylog.go b/plugins/inputs/graylog/graylog.go index 52e2ef42a5f03..2a7f2e8a3e4dd 100644 --- a/plugins/inputs/graylog/graylog.go +++ b/plugins/inputs/graylog/graylog.go @@ -16,7 +16,7 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) type ResponseMetrics struct { diff --git a/plugins/inputs/haproxy/haproxy.go b/plugins/inputs/haproxy/haproxy.go index 2be418a651a93..3a53384d85488 100644 --- a/plugins/inputs/haproxy/haproxy.go +++ b/plugins/inputs/haproxy/haproxy.go @@ -14,7 +14,7 @@ import ( "time" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) //CSV format: https://cbonte.github.io/haproxy-dconv/1.5/configuration.html#9.1 diff --git a/plugins/inputs/hddtemp/hddtemp.go b/plugins/inputs/hddtemp/hddtemp.go index ac11218ddc3da..b239229a377b5 100644 --- a/plugins/inputs/hddtemp/hddtemp.go +++ b/plugins/inputs/hddtemp/hddtemp.go @@ -4,8 +4,8 @@ package hddtemp import ( "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" gohddtemp "github.com/influxdata/telegraf/plugins/inputs/hddtemp/go-hddtemp" + "github.com/influxdata/telegraf/registry/inputs" ) const defaultAddress = "127.0.0.1:7634" diff --git a/plugins/inputs/http_listener/http_listener.go b/plugins/inputs/http_listener/http_listener.go index 0f426f8093cf5..6f4200acc7c84 100644 --- a/plugins/inputs/http_listener/http_listener.go +++ b/plugins/inputs/http_listener/http_listener.go @@ -12,8 +12,8 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" - "github.com/influxdata/telegraf/plugins/inputs" "github.com/influxdata/telegraf/plugins/parsers/influx" + "github.com/influxdata/telegraf/registry/inputs" "github.com/influxdata/telegraf/selfstat" ) diff --git a/plugins/inputs/http_response/http_response.go b/plugins/inputs/http_response/http_response.go index 111e35518c35b..0beab1a1f17a5 100644 --- a/plugins/inputs/http_response/http_response.go +++ b/plugins/inputs/http_response/http_response.go @@ -13,7 +13,7 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) // HTTPResponse struct diff --git a/plugins/inputs/httpjson/httpjson.go b/plugins/inputs/httpjson/httpjson.go index 89bfccf77a31d..9085c83812d5c 100644 --- a/plugins/inputs/httpjson/httpjson.go +++ b/plugins/inputs/httpjson/httpjson.go @@ -12,8 +12,8 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" - "github.com/influxdata/telegraf/plugins/inputs" "github.com/influxdata/telegraf/plugins/parsers" + "github.com/influxdata/telegraf/registry/inputs" ) // HttpJson struct diff --git a/plugins/inputs/influxdb/influxdb.go b/plugins/inputs/influxdb/influxdb.go index 3c98eead34a38..545d564a82621 100644 --- a/plugins/inputs/influxdb/influxdb.go +++ b/plugins/inputs/influxdb/influxdb.go @@ -11,7 +11,7 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) type InfluxDB struct { diff --git a/plugins/inputs/internal/internal.go b/plugins/inputs/internal/internal.go index f6123edd59eca..80bde7d0f3260 100644 --- a/plugins/inputs/internal/internal.go +++ b/plugins/inputs/internal/internal.go @@ -4,7 +4,7 @@ import ( "runtime" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" "github.com/influxdata/telegraf/selfstat" ) diff --git a/plugins/inputs/ipmi_sensor/ipmi.go b/plugins/inputs/ipmi_sensor/ipmi.go index b2389a67538f4..308ca429f61c0 100644 --- a/plugins/inputs/ipmi_sensor/ipmi.go +++ b/plugins/inputs/ipmi_sensor/ipmi.go @@ -9,7 +9,7 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) var ( diff --git a/plugins/inputs/iptables/iptables.go b/plugins/inputs/iptables/iptables.go index 31b049d9f2820..7676e18022e4a 100644 --- a/plugins/inputs/iptables/iptables.go +++ b/plugins/inputs/iptables/iptables.go @@ -10,7 +10,7 @@ import ( "strings" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) // Iptables is a telegraf plugin to gather packets and bytes throughput from Linux's iptables packet filter. diff --git a/plugins/inputs/jolokia/jolokia.go b/plugins/inputs/jolokia/jolokia.go index 7f371c935549d..00c999604f5de 100644 --- a/plugins/inputs/jolokia/jolokia.go +++ b/plugins/inputs/jolokia/jolokia.go @@ -12,7 +12,7 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) // Default http timeouts diff --git a/plugins/inputs/kafka_consumer/kafka_consumer.go b/plugins/inputs/kafka_consumer/kafka_consumer.go index f4176edd38b7e..8709e82871f22 100644 --- a/plugins/inputs/kafka_consumer/kafka_consumer.go +++ b/plugins/inputs/kafka_consumer/kafka_consumer.go @@ -6,8 +6,8 @@ import ( "sync" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" "github.com/influxdata/telegraf/plugins/parsers" + "github.com/influxdata/telegraf/registry/inputs" "github.com/Shopify/sarama" "github.com/wvanbergen/kafka/consumergroup" diff --git a/plugins/inputs/kubernetes/kubernetes.go b/plugins/inputs/kubernetes/kubernetes.go index ee95d560f426c..690395406c319 100644 --- a/plugins/inputs/kubernetes/kubernetes.go +++ b/plugins/inputs/kubernetes/kubernetes.go @@ -12,7 +12,7 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" "github.com/influxdata/telegraf/internal/errchan" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) // Kubernetes represents the config object for the plugin diff --git a/plugins/inputs/leofs/leofs.go b/plugins/inputs/leofs/leofs.go index 06c71e932ace2..90c8d79eb21e7 100644 --- a/plugins/inputs/leofs/leofs.go +++ b/plugins/inputs/leofs/leofs.go @@ -12,7 +12,7 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) const oid = ".1.3.6.1.4.1.35450" diff --git a/plugins/inputs/logparser/logparser.go b/plugins/inputs/logparser/logparser.go index 8ec32835829a1..372fcba450876 100644 --- a/plugins/inputs/logparser/logparser.go +++ b/plugins/inputs/logparser/logparser.go @@ -11,7 +11,7 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal/errchan" "github.com/influxdata/telegraf/internal/globpath" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" // Parsers "github.com/influxdata/telegraf/plugins/inputs/logparser/grok" diff --git a/plugins/inputs/lustre2/lustre2.go b/plugins/inputs/lustre2/lustre2.go index 8ef9223b53a34..eddefbbe6604a 100644 --- a/plugins/inputs/lustre2/lustre2.go +++ b/plugins/inputs/lustre2/lustre2.go @@ -15,7 +15,7 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) // Lustre proc files can change between versions, so we want to future-proof diff --git a/plugins/inputs/mailchimp/mailchimp.go b/plugins/inputs/mailchimp/mailchimp.go index d7255191ab724..3477b31b3aadc 100644 --- a/plugins/inputs/mailchimp/mailchimp.go +++ b/plugins/inputs/mailchimp/mailchimp.go @@ -5,7 +5,7 @@ import ( "time" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) type MailChimp struct { diff --git a/plugins/inputs/memcached/memcached.go b/plugins/inputs/memcached/memcached.go index 5ee538e936095..d0726f6e97d81 100644 --- a/plugins/inputs/memcached/memcached.go +++ b/plugins/inputs/memcached/memcached.go @@ -10,7 +10,7 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal/errchan" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) // Memcached is a memcached plugin diff --git a/plugins/inputs/mesos/mesos.go b/plugins/inputs/mesos/mesos.go index e6c68bd7dd321..f9c0d2580f954 100644 --- a/plugins/inputs/mesos/mesos.go +++ b/plugins/inputs/mesos/mesos.go @@ -13,8 +13,8 @@ import ( "time" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" jsonparser "github.com/influxdata/telegraf/plugins/parsers/json" + "github.com/influxdata/telegraf/registry/inputs" ) type Role string diff --git a/plugins/inputs/mongodb/mongodb.go b/plugins/inputs/mongodb/mongodb.go index 0bf822a4ceda1..7f2a54002ea9c 100644 --- a/plugins/inputs/mongodb/mongodb.go +++ b/plugins/inputs/mongodb/mongodb.go @@ -11,7 +11,7 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal/errchan" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" "gopkg.in/mgo.v2" ) diff --git a/plugins/inputs/mqtt_consumer/mqtt_consumer.go b/plugins/inputs/mqtt_consumer/mqtt_consumer.go index cfade2944d7e1..6fa83eb0804cf 100644 --- a/plugins/inputs/mqtt_consumer/mqtt_consumer.go +++ b/plugins/inputs/mqtt_consumer/mqtt_consumer.go @@ -9,8 +9,8 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" - "github.com/influxdata/telegraf/plugins/inputs" "github.com/influxdata/telegraf/plugins/parsers" + "github.com/influxdata/telegraf/registry/inputs" "github.com/eclipse/paho.mqtt.golang" ) diff --git a/plugins/inputs/mysql/mysql.go b/plugins/inputs/mysql/mysql.go index adc21880ba3d6..747de757bf671 100644 --- a/plugins/inputs/mysql/mysql.go +++ b/plugins/inputs/mysql/mysql.go @@ -11,7 +11,7 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal/errchan" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" "github.com/go-sql-driver/mysql" ) diff --git a/plugins/inputs/nats_consumer/nats_consumer.go b/plugins/inputs/nats_consumer/nats_consumer.go index cbb85e0162e9b..673ad9875714e 100644 --- a/plugins/inputs/nats_consumer/nats_consumer.go +++ b/plugins/inputs/nats_consumer/nats_consumer.go @@ -6,8 +6,8 @@ import ( "sync" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" "github.com/influxdata/telegraf/plugins/parsers" + "github.com/influxdata/telegraf/registry/inputs" "github.com/nats-io/nats" ) diff --git a/plugins/inputs/net_response/net_response.go b/plugins/inputs/net_response/net_response.go index ad0de46c3151c..2827f2b30bb3c 100644 --- a/plugins/inputs/net_response/net_response.go +++ b/plugins/inputs/net_response/net_response.go @@ -10,7 +10,7 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) // NetResponses struct diff --git a/plugins/inputs/nginx/nginx.go b/plugins/inputs/nginx/nginx.go index 3fe8c04d1c341..5de2f61014f70 100644 --- a/plugins/inputs/nginx/nginx.go +++ b/plugins/inputs/nginx/nginx.go @@ -13,7 +13,7 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal/errchan" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) type Nginx struct { diff --git a/plugins/inputs/nsq/nsq.go b/plugins/inputs/nsq/nsq.go index 8bfd72788593b..0901c0eadf921 100644 --- a/plugins/inputs/nsq/nsq.go +++ b/plugins/inputs/nsq/nsq.go @@ -33,7 +33,7 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal/errchan" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) // Might add Lookupd endpoints for cluster discovery diff --git a/plugins/inputs/nsq_consumer/nsq_consumer.go b/plugins/inputs/nsq_consumer/nsq_consumer.go index d4f4e9679d884..dee8b41aaaac9 100644 --- a/plugins/inputs/nsq_consumer/nsq_consumer.go +++ b/plugins/inputs/nsq_consumer/nsq_consumer.go @@ -4,8 +4,8 @@ import ( "log" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" "github.com/influxdata/telegraf/plugins/parsers" + "github.com/influxdata/telegraf/registry/inputs" "github.com/nsqio/go-nsq" ) diff --git a/plugins/inputs/nstat/nstat.go b/plugins/inputs/nstat/nstat.go index 5096d7b038ed2..c66a6c5c8c6d9 100644 --- a/plugins/inputs/nstat/nstat.go +++ b/plugins/inputs/nstat/nstat.go @@ -7,7 +7,7 @@ import ( "strconv" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) var ( diff --git a/plugins/inputs/ntpq/ntpq.go b/plugins/inputs/ntpq/ntpq.go index 601d5b2df4f94..a7019827bf540 100644 --- a/plugins/inputs/ntpq/ntpq.go +++ b/plugins/inputs/ntpq/ntpq.go @@ -11,7 +11,7 @@ import ( "strings" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) // Mapping of ntpq header names to tag keys diff --git a/plugins/inputs/passenger/passenger.go b/plugins/inputs/passenger/passenger.go index 84e92cb1a9b73..8d787f1ceb499 100644 --- a/plugins/inputs/passenger/passenger.go +++ b/plugins/inputs/passenger/passenger.go @@ -9,7 +9,7 @@ import ( "strings" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" "golang.org/x/net/html/charset" ) diff --git a/plugins/inputs/phpfpm/phpfpm.go b/plugins/inputs/phpfpm/phpfpm.go index d7a14d0eee81a..46889b5b602be 100644 --- a/plugins/inputs/phpfpm/phpfpm.go +++ b/plugins/inputs/phpfpm/phpfpm.go @@ -13,7 +13,7 @@ import ( "sync" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) const ( diff --git a/plugins/inputs/ping/ping.go b/plugins/inputs/ping/ping.go index 32264eec7efdb..1d7382cfd6ac0 100644 --- a/plugins/inputs/ping/ping.go +++ b/plugins/inputs/ping/ping.go @@ -13,7 +13,7 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) // HostPinger is a function that runs the "ping" function using a list of diff --git a/plugins/inputs/ping/ping_windows.go b/plugins/inputs/ping/ping_windows.go index 7fb112810af3d..0c4f261c13d1e 100644 --- a/plugins/inputs/ping/ping_windows.go +++ b/plugins/inputs/ping/ping_windows.go @@ -5,7 +5,7 @@ import ( "errors" "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" "os/exec" "regexp" "strconv" diff --git a/plugins/inputs/postgresql/postgresql.go b/plugins/inputs/postgresql/postgresql.go index 7019762ed2dd8..273a9787b323c 100644 --- a/plugins/inputs/postgresql/postgresql.go +++ b/plugins/inputs/postgresql/postgresql.go @@ -8,7 +8,7 @@ import ( "strings" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) type Postgresql struct { diff --git a/plugins/inputs/postgresql_extensible/postgresql_extensible.go b/plugins/inputs/postgresql_extensible/postgresql_extensible.go index 00729bf7531d5..ec9821425632a 100644 --- a/plugins/inputs/postgresql_extensible/postgresql_extensible.go +++ b/plugins/inputs/postgresql_extensible/postgresql_extensible.go @@ -8,8 +8,8 @@ import ( "strings" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" "github.com/influxdata/telegraf/plugins/inputs/postgresql" + "github.com/influxdata/telegraf/registry/inputs" ) type Postgresql struct { diff --git a/plugins/inputs/powerdns/powerdns.go b/plugins/inputs/powerdns/powerdns.go index 68b1696e0611f..18da1fe9fe498 100644 --- a/plugins/inputs/powerdns/powerdns.go +++ b/plugins/inputs/powerdns/powerdns.go @@ -11,7 +11,7 @@ import ( "time" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) type Powerdns struct { diff --git a/plugins/inputs/procstat/procstat.go b/plugins/inputs/procstat/procstat.go index 565d0ebd13b38..fb7aa527097f7 100644 --- a/plugins/inputs/procstat/procstat.go +++ b/plugins/inputs/procstat/procstat.go @@ -9,7 +9,7 @@ import ( "strings" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) type Procstat struct { diff --git a/plugins/inputs/prometheus/prometheus.go b/plugins/inputs/prometheus/prometheus.go index 97da17f04751f..b423bec2a8dd3 100644 --- a/plugins/inputs/prometheus/prometheus.go +++ b/plugins/inputs/prometheus/prometheus.go @@ -5,7 +5,7 @@ import ( "fmt" "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" "io/ioutil" "net" "net/http" diff --git a/plugins/inputs/puppetagent/puppetagent.go b/plugins/inputs/puppetagent/puppetagent.go index c8a265bb857bc..3ecc553a56f2f 100644 --- a/plugins/inputs/puppetagent/puppetagent.go +++ b/plugins/inputs/puppetagent/puppetagent.go @@ -9,7 +9,7 @@ import ( "strings" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) // PuppetAgent is a PuppetAgent plugin diff --git a/plugins/inputs/rabbitmq/rabbitmq.go b/plugins/inputs/rabbitmq/rabbitmq.go index c33b11e66d3f4..4983b5688bcd2 100644 --- a/plugins/inputs/rabbitmq/rabbitmq.go +++ b/plugins/inputs/rabbitmq/rabbitmq.go @@ -11,7 +11,7 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" "github.com/influxdata/telegraf/internal/errchan" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) // DefaultUsername will set a default value that corrasponds to the default diff --git a/plugins/inputs/raindrops/raindrops.go b/plugins/inputs/raindrops/raindrops.go index 6851f5d93b52e..f9784acbd0556 100644 --- a/plugins/inputs/raindrops/raindrops.go +++ b/plugins/inputs/raindrops/raindrops.go @@ -12,7 +12,7 @@ import ( "time" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) type Raindrops struct { diff --git a/plugins/inputs/redis/redis.go b/plugins/inputs/redis/redis.go index 2dd947a2aec80..5a0751e8e57e0 100644 --- a/plugins/inputs/redis/redis.go +++ b/plugins/inputs/redis/redis.go @@ -13,7 +13,7 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal/errchan" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) type Redis struct { diff --git a/plugins/inputs/registry.go b/plugins/inputs/registry.go deleted file mode 100644 index 9951cd5cde1c9..0000000000000 --- a/plugins/inputs/registry.go +++ /dev/null @@ -1,11 +0,0 @@ -package inputs - -import "github.com/influxdata/telegraf" - -type Creator func() telegraf.Input - -var Inputs = map[string]Creator{} - -func Add(name string, creator Creator) { - Inputs[name] = creator -} diff --git a/plugins/inputs/rethinkdb/rethinkdb.go b/plugins/inputs/rethinkdb/rethinkdb.go index 32237a80f372c..5f81a0b0fcbdd 100644 --- a/plugins/inputs/rethinkdb/rethinkdb.go +++ b/plugins/inputs/rethinkdb/rethinkdb.go @@ -6,7 +6,7 @@ import ( "sync" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" "gopkg.in/dancannon/gorethink.v1" ) diff --git a/plugins/inputs/riak/riak.go b/plugins/inputs/riak/riak.go index 19bf7df04a118..df5db408bc9d5 100644 --- a/plugins/inputs/riak/riak.go +++ b/plugins/inputs/riak/riak.go @@ -8,7 +8,7 @@ import ( "time" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) // Type Riak gathers statistics from one or more Riak instances diff --git a/plugins/inputs/sensors/sensors.go b/plugins/inputs/sensors/sensors.go index 1caf6ba5952c1..ecb6b7a45171a 100644 --- a/plugins/inputs/sensors/sensors.go +++ b/plugins/inputs/sensors/sensors.go @@ -13,7 +13,7 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) var ( diff --git a/plugins/inputs/snmp/snmp.go b/plugins/inputs/snmp/snmp.go index 9296bc0434896..08709268cccad 100644 --- a/plugins/inputs/snmp/snmp.go +++ b/plugins/inputs/snmp/snmp.go @@ -13,7 +13,7 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" "github.com/soniah/gosnmp" ) diff --git a/plugins/inputs/snmp_legacy/snmp_legacy.go b/plugins/inputs/snmp_legacy/snmp_legacy.go index e5dbbc459dbc4..949ff19b8d593 100644 --- a/plugins/inputs/snmp_legacy/snmp_legacy.go +++ b/plugins/inputs/snmp_legacy/snmp_legacy.go @@ -9,7 +9,7 @@ import ( "time" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" "github.com/soniah/gosnmp" ) diff --git a/plugins/inputs/socket_listener/socket_listener.go b/plugins/inputs/socket_listener/socket_listener.go index 9d3a8e1fe4ece..1ac0cd31b2b23 100644 --- a/plugins/inputs/socket_listener/socket_listener.go +++ b/plugins/inputs/socket_listener/socket_listener.go @@ -10,8 +10,8 @@ import ( "sync" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" "github.com/influxdata/telegraf/plugins/parsers" + "github.com/influxdata/telegraf/registry/inputs" ) type setReadBufferer interface { diff --git a/plugins/inputs/sqlserver/sqlserver.go b/plugins/inputs/sqlserver/sqlserver.go index 5afbb067eae8f..dd56636730a02 100644 --- a/plugins/inputs/sqlserver/sqlserver.go +++ b/plugins/inputs/sqlserver/sqlserver.go @@ -3,7 +3,7 @@ package sqlserver import ( "database/sql" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" "sync" "time" diff --git a/plugins/inputs/statsd/statsd.go b/plugins/inputs/statsd/statsd.go index d2c627b8ab73a..21986111a1156 100644 --- a/plugins/inputs/statsd/statsd.go +++ b/plugins/inputs/statsd/statsd.go @@ -14,7 +14,7 @@ import ( "github.com/influxdata/telegraf/plugins/parsers/graphite" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) const ( diff --git a/plugins/inputs/sysstat/sysstat.go b/plugins/inputs/sysstat/sysstat.go index 9c9ef6b05f347..56f103eb5c506 100644 --- a/plugins/inputs/sysstat/sysstat.go +++ b/plugins/inputs/sysstat/sysstat.go @@ -19,7 +19,7 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) var ( diff --git a/plugins/inputs/system/cpu.go b/plugins/inputs/system/cpu.go index 3ed2606fac811..0e285ba043eb6 100644 --- a/plugins/inputs/system/cpu.go +++ b/plugins/inputs/system/cpu.go @@ -5,7 +5,7 @@ import ( "time" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" "github.com/shirou/gopsutil/cpu" ) diff --git a/plugins/inputs/system/disk.go b/plugins/inputs/system/disk.go index 3f6d83c1cc592..d82968653c9fc 100644 --- a/plugins/inputs/system/disk.go +++ b/plugins/inputs/system/disk.go @@ -6,7 +6,7 @@ import ( "strings" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) type DiskStats struct { diff --git a/plugins/inputs/system/kernel.go b/plugins/inputs/system/kernel.go index 66cb0f763b565..e404dc051c739 100644 --- a/plugins/inputs/system/kernel.go +++ b/plugins/inputs/system/kernel.go @@ -10,7 +10,7 @@ import ( "strconv" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) // /proc/stat file line prefixes to gather stats on: diff --git a/plugins/inputs/system/kernel_notlinux.go b/plugins/inputs/system/kernel_notlinux.go index 9053b5c04f7b6..f9a4c8deeb17f 100644 --- a/plugins/inputs/system/kernel_notlinux.go +++ b/plugins/inputs/system/kernel_notlinux.go @@ -4,7 +4,7 @@ package system import ( "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) type Kernel struct { diff --git a/plugins/inputs/system/kernel_vmstat.go b/plugins/inputs/system/kernel_vmstat.go index 93c8227898bd5..6caaede68e25a 100644 --- a/plugins/inputs/system/kernel_vmstat.go +++ b/plugins/inputs/system/kernel_vmstat.go @@ -10,7 +10,7 @@ import ( "strconv" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) type KernelVmstat struct { diff --git a/plugins/inputs/system/memory.go b/plugins/inputs/system/memory.go index 26dc550f8ac80..5327a06cd4761 100644 --- a/plugins/inputs/system/memory.go +++ b/plugins/inputs/system/memory.go @@ -4,7 +4,7 @@ import ( "fmt" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) type MemStats struct { diff --git a/plugins/inputs/system/net.go b/plugins/inputs/system/net.go index 3f89176fb874e..0603ce43cfd89 100644 --- a/plugins/inputs/system/net.go +++ b/plugins/inputs/system/net.go @@ -6,7 +6,7 @@ import ( "strings" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) type NetIOStats struct { diff --git a/plugins/inputs/system/netstat.go b/plugins/inputs/system/netstat.go index 98b729bbe715b..4e003d4159f32 100644 --- a/plugins/inputs/system/netstat.go +++ b/plugins/inputs/system/netstat.go @@ -5,7 +5,7 @@ import ( "syscall" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) type NetStats struct { diff --git a/plugins/inputs/system/processes.go b/plugins/inputs/system/processes.go index 0950323fde8db..924bd83383ba2 100644 --- a/plugins/inputs/system/processes.go +++ b/plugins/inputs/system/processes.go @@ -14,7 +14,7 @@ import ( "strconv" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) type Processes struct { diff --git a/plugins/inputs/system/system.go b/plugins/inputs/system/system.go index 1a61f11bf1214..1dc92ba8d5243 100644 --- a/plugins/inputs/system/system.go +++ b/plugins/inputs/system/system.go @@ -10,7 +10,7 @@ import ( "github.com/shirou/gopsutil/load" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) type SystemStats struct{} diff --git a/plugins/inputs/tail/tail.go b/plugins/inputs/tail/tail.go index 508c1e32027ef..a3c0e61178b96 100644 --- a/plugins/inputs/tail/tail.go +++ b/plugins/inputs/tail/tail.go @@ -9,8 +9,8 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal/globpath" - "github.com/influxdata/telegraf/plugins/inputs" "github.com/influxdata/telegraf/plugins/parsers" + "github.com/influxdata/telegraf/registry/inputs" ) type Tail struct { diff --git a/plugins/inputs/tcp_listener/tcp_listener.go b/plugins/inputs/tcp_listener/tcp_listener.go index 544f36bd61246..61347a82ff5f8 100644 --- a/plugins/inputs/tcp_listener/tcp_listener.go +++ b/plugins/inputs/tcp_listener/tcp_listener.go @@ -9,8 +9,8 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" - "github.com/influxdata/telegraf/plugins/inputs" "github.com/influxdata/telegraf/plugins/parsers" + "github.com/influxdata/telegraf/registry/inputs" "github.com/influxdata/telegraf/selfstat" ) diff --git a/plugins/inputs/trig/trig.go b/plugins/inputs/trig/trig.go index 647794f0a022d..34b8134377cca 100644 --- a/plugins/inputs/trig/trig.go +++ b/plugins/inputs/trig/trig.go @@ -4,7 +4,7 @@ import ( "math" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) type Trig struct { diff --git a/plugins/inputs/twemproxy/twemproxy.go b/plugins/inputs/twemproxy/twemproxy.go index cda56943f1002..5a04578f38e36 100644 --- a/plugins/inputs/twemproxy/twemproxy.go +++ b/plugins/inputs/twemproxy/twemproxy.go @@ -8,7 +8,7 @@ import ( "time" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) type Twemproxy struct { diff --git a/plugins/inputs/udp_listener/udp_listener.go b/plugins/inputs/udp_listener/udp_listener.go index 53c6a72f5f1cc..4dd856be35dd1 100644 --- a/plugins/inputs/udp_listener/udp_listener.go +++ b/plugins/inputs/udp_listener/udp_listener.go @@ -7,8 +7,8 @@ import ( "time" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" "github.com/influxdata/telegraf/plugins/parsers" + "github.com/influxdata/telegraf/registry/inputs" "github.com/influxdata/telegraf/selfstat" ) diff --git a/plugins/inputs/varnish/varnish.go b/plugins/inputs/varnish/varnish.go index c750412219d8d..dba68cdd15215 100644 --- a/plugins/inputs/varnish/varnish.go +++ b/plugins/inputs/varnish/varnish.go @@ -15,7 +15,7 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/filter" "github.com/influxdata/telegraf/internal" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) type runner func(cmdName string) (*bytes.Buffer, error) diff --git a/plugins/inputs/webhooks/webhooks.go b/plugins/inputs/webhooks/webhooks.go index fcddbebd7f6e3..725817f35e92b 100644 --- a/plugins/inputs/webhooks/webhooks.go +++ b/plugins/inputs/webhooks/webhooks.go @@ -8,7 +8,7 @@ import ( "github.com/gorilla/mux" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" "github.com/influxdata/telegraf/plugins/inputs/webhooks/filestack" "github.com/influxdata/telegraf/plugins/inputs/webhooks/github" diff --git a/plugins/inputs/win_perf_counters/win_perf_counters.go b/plugins/inputs/win_perf_counters/win_perf_counters.go index da59c3040266f..fa035f5582bc6 100644 --- a/plugins/inputs/win_perf_counters/win_perf_counters.go +++ b/plugins/inputs/win_perf_counters/win_perf_counters.go @@ -9,7 +9,7 @@ import ( "unsafe" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) var sampleConfig string = ` diff --git a/plugins/inputs/zfs/zfs_freebsd.go b/plugins/inputs/zfs/zfs_freebsd.go index 7ee72a14029cb..038856e3dbfa8 100644 --- a/plugins/inputs/zfs/zfs_freebsd.go +++ b/plugins/inputs/zfs/zfs_freebsd.go @@ -10,7 +10,7 @@ import ( "strings" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) func (z *Zfs) gatherPoolStats(acc telegraf.Accumulator) (string, error) { diff --git a/plugins/inputs/zfs/zfs_linux.go b/plugins/inputs/zfs/zfs_linux.go index 71ec7e5dc0710..958d187faea7e 100644 --- a/plugins/inputs/zfs/zfs_linux.go +++ b/plugins/inputs/zfs/zfs_linux.go @@ -10,7 +10,7 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) type poolInfo struct { diff --git a/plugins/inputs/zfs/zfs_other.go b/plugins/inputs/zfs/zfs_other.go index 98de02be917dd..74eea8283616f 100644 --- a/plugins/inputs/zfs/zfs_other.go +++ b/plugins/inputs/zfs/zfs_other.go @@ -4,7 +4,7 @@ package zfs import ( "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) func (z *Zfs) Gather(acc telegraf.Accumulator) error { diff --git a/plugins/inputs/zookeeper/zookeeper.go b/plugins/inputs/zookeeper/zookeeper.go index c11b55f68822a..7a712ae12d3f7 100644 --- a/plugins/inputs/zookeeper/zookeeper.go +++ b/plugins/inputs/zookeeper/zookeeper.go @@ -11,7 +11,7 @@ import ( "time" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/inputs" + "github.com/influxdata/telegraf/registry/inputs" ) // Zookeeper is a zookeeper plugin diff --git a/plugins/outputs/amon/amon.go b/plugins/outputs/amon/amon.go index a113f2616c042..501133b230e00 100644 --- a/plugins/outputs/amon/amon.go +++ b/plugins/outputs/amon/amon.go @@ -10,7 +10,7 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" - "github.com/influxdata/telegraf/plugins/outputs" + "github.com/influxdata/telegraf/registry/outputs" ) type Amon struct { diff --git a/plugins/outputs/amqp/amqp.go b/plugins/outputs/amqp/amqp.go index d86cac5969b5d..ec469ff1f0607 100644 --- a/plugins/outputs/amqp/amqp.go +++ b/plugins/outputs/amqp/amqp.go @@ -9,8 +9,8 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" - "github.com/influxdata/telegraf/plugins/outputs" "github.com/influxdata/telegraf/plugins/serializers" + "github.com/influxdata/telegraf/registry/outputs" "github.com/streadway/amqp" ) diff --git a/plugins/outputs/cloudwatch/cloudwatch.go b/plugins/outputs/cloudwatch/cloudwatch.go index 4eb2706a3687e..78275c51eeb6d 100644 --- a/plugins/outputs/cloudwatch/cloudwatch.go +++ b/plugins/outputs/cloudwatch/cloudwatch.go @@ -12,7 +12,7 @@ import ( "github.com/influxdata/telegraf" internalaws "github.com/influxdata/telegraf/internal/config/aws" - "github.com/influxdata/telegraf/plugins/outputs" + "github.com/influxdata/telegraf/registry/outputs" ) type CloudWatch struct { diff --git a/plugins/outputs/datadog/datadog.go b/plugins/outputs/datadog/datadog.go index cf54de725eda9..00e134189c7df 100644 --- a/plugins/outputs/datadog/datadog.go +++ b/plugins/outputs/datadog/datadog.go @@ -11,7 +11,7 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" - "github.com/influxdata/telegraf/plugins/outputs" + "github.com/influxdata/telegraf/registry/outputs" ) type Datadog struct { diff --git a/plugins/outputs/discard/discard.go b/plugins/outputs/discard/discard.go index 4a6d634b70656..9d4b3c846d8dd 100644 --- a/plugins/outputs/discard/discard.go +++ b/plugins/outputs/discard/discard.go @@ -2,7 +2,7 @@ package discard import ( "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/outputs" + "github.com/influxdata/telegraf/registry/outputs" ) type Discard struct{} diff --git a/plugins/outputs/file/file.go b/plugins/outputs/file/file.go index e05d0fe83be17..f36e7770f7522 100644 --- a/plugins/outputs/file/file.go +++ b/plugins/outputs/file/file.go @@ -6,8 +6,8 @@ import ( "os" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/outputs" "github.com/influxdata/telegraf/plugins/serializers" + "github.com/influxdata/telegraf/registry/outputs" ) type File struct { diff --git a/plugins/outputs/graphite/graphite.go b/plugins/outputs/graphite/graphite.go index 8d4447cdd4d20..7c2dc159295c4 100644 --- a/plugins/outputs/graphite/graphite.go +++ b/plugins/outputs/graphite/graphite.go @@ -9,8 +9,8 @@ import ( "time" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/outputs" "github.com/influxdata/telegraf/plugins/serializers" + "github.com/influxdata/telegraf/registry/outputs" ) type Graphite struct { diff --git a/plugins/outputs/graylog/graylog.go b/plugins/outputs/graylog/graylog.go index e77eae55860ea..de5e8222c8527 100644 --- a/plugins/outputs/graylog/graylog.go +++ b/plugins/outputs/graylog/graylog.go @@ -8,7 +8,7 @@ import ( ejson "encoding/json" "fmt" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/outputs" + "github.com/influxdata/telegraf/registry/outputs" "io" "math" "net" diff --git a/plugins/outputs/influxdb/influxdb.go b/plugins/outputs/influxdb/influxdb.go index 5a5899a602d57..257e7a43c5573 100644 --- a/plugins/outputs/influxdb/influxdb.go +++ b/plugins/outputs/influxdb/influxdb.go @@ -10,7 +10,7 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" "github.com/influxdata/telegraf/metric" - "github.com/influxdata/telegraf/plugins/outputs" + "github.com/influxdata/telegraf/registry/outputs" "github.com/influxdata/telegraf/plugins/outputs/influxdb/client" ) diff --git a/plugins/outputs/instrumental/instrumental.go b/plugins/outputs/instrumental/instrumental.go index e10fcbb065cd2..dde9d239b8644 100644 --- a/plugins/outputs/instrumental/instrumental.go +++ b/plugins/outputs/instrumental/instrumental.go @@ -12,9 +12,9 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" "github.com/influxdata/telegraf/metric" - "github.com/influxdata/telegraf/plugins/outputs" "github.com/influxdata/telegraf/plugins/serializers" "github.com/influxdata/telegraf/plugins/serializers/graphite" + "github.com/influxdata/telegraf/registry/outputs" ) var ( diff --git a/plugins/outputs/kafka/kafka.go b/plugins/outputs/kafka/kafka.go index 3815f5726a76c..f0f0d20af956a 100644 --- a/plugins/outputs/kafka/kafka.go +++ b/plugins/outputs/kafka/kafka.go @@ -6,8 +6,8 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" - "github.com/influxdata/telegraf/plugins/outputs" "github.com/influxdata/telegraf/plugins/serializers" + "github.com/influxdata/telegraf/registry/outputs" "github.com/Shopify/sarama" ) diff --git a/plugins/outputs/kinesis/kinesis.go b/plugins/outputs/kinesis/kinesis.go index 8cbdea68292e9..68c9566a6a939 100644 --- a/plugins/outputs/kinesis/kinesis.go +++ b/plugins/outputs/kinesis/kinesis.go @@ -10,8 +10,8 @@ import ( "github.com/influxdata/telegraf" internalaws "github.com/influxdata/telegraf/internal/config/aws" - "github.com/influxdata/telegraf/plugins/outputs" "github.com/influxdata/telegraf/plugins/serializers" + "github.com/influxdata/telegraf/registry/outputs" ) type KinesisOutput struct { diff --git a/plugins/outputs/librato/librato.go b/plugins/outputs/librato/librato.go index ed020d54f70b9..9bcda61f9652e 100644 --- a/plugins/outputs/librato/librato.go +++ b/plugins/outputs/librato/librato.go @@ -11,8 +11,8 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" - "github.com/influxdata/telegraf/plugins/outputs" "github.com/influxdata/telegraf/plugins/serializers/graphite" + "github.com/influxdata/telegraf/registry/outputs" ) // Librato structure for configuration and client diff --git a/plugins/outputs/mqtt/mqtt.go b/plugins/outputs/mqtt/mqtt.go index b1d94f87ccf32..8b0f87dc396c2 100644 --- a/plugins/outputs/mqtt/mqtt.go +++ b/plugins/outputs/mqtt/mqtt.go @@ -7,8 +7,8 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" - "github.com/influxdata/telegraf/plugins/outputs" "github.com/influxdata/telegraf/plugins/serializers" + "github.com/influxdata/telegraf/registry/outputs" paho "github.com/eclipse/paho.mqtt.golang" ) diff --git a/plugins/outputs/nats/nats.go b/plugins/outputs/nats/nats.go index e65e799cfdafc..14627c6d039ed 100644 --- a/plugins/outputs/nats/nats.go +++ b/plugins/outputs/nats/nats.go @@ -7,8 +7,8 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" - "github.com/influxdata/telegraf/plugins/outputs" "github.com/influxdata/telegraf/plugins/serializers" + "github.com/influxdata/telegraf/registry/outputs" ) type NATS struct { diff --git a/plugins/outputs/nsq/nsq.go b/plugins/outputs/nsq/nsq.go index bd1705c10e22e..f6f5c2d0ff514 100644 --- a/plugins/outputs/nsq/nsq.go +++ b/plugins/outputs/nsq/nsq.go @@ -6,8 +6,8 @@ import ( "github.com/nsqio/go-nsq" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/outputs" "github.com/influxdata/telegraf/plugins/serializers" + "github.com/influxdata/telegraf/registry/outputs" ) type NSQ struct { diff --git a/plugins/outputs/opentsdb/opentsdb.go b/plugins/outputs/opentsdb/opentsdb.go index ac4d1224e4133..bdd6a182279a7 100644 --- a/plugins/outputs/opentsdb/opentsdb.go +++ b/plugins/outputs/opentsdb/opentsdb.go @@ -10,7 +10,7 @@ import ( "strings" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/outputs" + "github.com/influxdata/telegraf/registry/outputs" ) type OpenTSDB struct { diff --git a/plugins/outputs/prometheus_client/prometheus_client.go b/plugins/outputs/prometheus_client/prometheus_client.go index e86a0a526dbe1..5b9ccc8bc9aa5 100644 --- a/plugins/outputs/prometheus_client/prometheus_client.go +++ b/plugins/outputs/prometheus_client/prometheus_client.go @@ -10,7 +10,7 @@ import ( "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/internal" - "github.com/influxdata/telegraf/plugins/outputs" + "github.com/influxdata/telegraf/registry/outputs" "github.com/prometheus/client_golang/prometheus" ) diff --git a/plugins/outputs/riemann/riemann.go b/plugins/outputs/riemann/riemann.go index 25cf3011a1edf..86d430fae1b16 100644 --- a/plugins/outputs/riemann/riemann.go +++ b/plugins/outputs/riemann/riemann.go @@ -10,7 +10,7 @@ import ( "github.com/amir/raidman" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/outputs" + "github.com/influxdata/telegraf/registry/outputs" ) type Riemann struct { diff --git a/plugins/outputs/riemann_legacy/riemann.go b/plugins/outputs/riemann_legacy/riemann.go index 69de7f52134d0..3d464613fae80 100644 --- a/plugins/outputs/riemann_legacy/riemann.go +++ b/plugins/outputs/riemann_legacy/riemann.go @@ -9,7 +9,7 @@ import ( "github.com/amir/raidman" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/outputs" + "github.com/influxdata/telegraf/registry/outputs" ) const deprecationMsg = "E! Error: this Riemann output plugin will be deprecated in a future release, see https://github.com/influxdata/telegraf/issues/1878 for more details & discussion." diff --git a/plugins/outputs/socket_writer/socket_writer.go b/plugins/outputs/socket_writer/socket_writer.go index 2c54bb0bb5bfb..735a592889510 100644 --- a/plugins/outputs/socket_writer/socket_writer.go +++ b/plugins/outputs/socket_writer/socket_writer.go @@ -6,8 +6,8 @@ import ( "strings" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/outputs" "github.com/influxdata/telegraf/plugins/serializers" + "github.com/influxdata/telegraf/registry/outputs" ) type SocketWriter struct { diff --git a/plugins/processors/printer/printer.go b/plugins/processors/printer/printer.go index a65a104e618f9..456a7b4bf6343 100644 --- a/plugins/processors/printer/printer.go +++ b/plugins/processors/printer/printer.go @@ -4,7 +4,7 @@ import ( "fmt" "github.com/influxdata/telegraf" - "github.com/influxdata/telegraf/plugins/processors" + "github.com/influxdata/telegraf/registry/processors" ) type Printer struct { diff --git a/plugins/processors/registry.go b/plugins/processors/registry.go deleted file mode 100644 index 592c688f3dc6b..0000000000000 --- a/plugins/processors/registry.go +++ /dev/null @@ -1,11 +0,0 @@ -package processors - -import "github.com/influxdata/telegraf" - -type Creator func() telegraf.Processor - -var Processors = map[string]Creator{} - -func Add(name string, creator Creator) { - Processors[name] = creator -} diff --git a/registry/aggregators/registry.go b/registry/aggregators/registry.go new file mode 100644 index 0000000000000..fe3858497e81c --- /dev/null +++ b/registry/aggregators/registry.go @@ -0,0 +1,20 @@ +package aggregators + +import ( + "log" + + "github.com/influxdata/telegraf" + "github.com/influxdata/telegraf/registry" +) + +type Creator func() telegraf.Aggregator + +var Aggregators = map[string]Creator{} + +func Add(name string, creator Creator) { + if override := registry.GetName(); override != "" { + name = override + } + log.Println("D! Loading plugin: [[aggregators." + name + "]]") + Aggregators[name] = creator +} diff --git a/registry/inputs/registry.go b/registry/inputs/registry.go new file mode 100644 index 0000000000000..51472c18ad9bb --- /dev/null +++ b/registry/inputs/registry.go @@ -0,0 +1,20 @@ +package inputs + +import ( + "log" + + "github.com/influxdata/telegraf" + "github.com/influxdata/telegraf/registry" +) + +type Creator func() telegraf.Input + +var Inputs = map[string]Creator{} + +func Add(name string, creator Creator) { + if override := registry.GetName(); override != "" { + name = override + } + log.Println("D! Loading plugin: [[inputs." + name + "]]") + Inputs[name] = creator +} diff --git a/registry/name.go b/registry/name.go new file mode 100644 index 0000000000000..33c42904fe046 --- /dev/null +++ b/registry/name.go @@ -0,0 +1,20 @@ +package registry + +import ( + "sync" +) + +var nameOverride string +var mu sync.Mutex + +func SetName(s string) { + mu.Lock() + nameOverride = s + mu.Unlock() +} + +func GetName() string { + mu.Lock() + defer mu.Unlock() + return nameOverride +} diff --git a/plugins/outputs/registry.go b/registry/outputs/registry.go similarity index 52% rename from plugins/outputs/registry.go rename to registry/outputs/registry.go index 5787a82b01e1e..bb3b9d366d1aa 100644 --- a/plugins/outputs/registry.go +++ b/registry/outputs/registry.go @@ -1,7 +1,10 @@ package outputs import ( + "log" + "github.com/influxdata/telegraf" + "github.com/influxdata/telegraf/registry" ) type Creator func() telegraf.Output @@ -9,5 +12,9 @@ type Creator func() telegraf.Output var Outputs = map[string]Creator{} func Add(name string, creator Creator) { + if override := registry.GetName(); override != "" { + name = override + } + log.Println("D! Loading plugin: [[outputs." + name + "]]") Outputs[name] = creator } diff --git a/registry/processors/registry.go b/registry/processors/registry.go new file mode 100644 index 0000000000000..b5026e005620b --- /dev/null +++ b/registry/processors/registry.go @@ -0,0 +1,20 @@ +package processors + +import ( + "log" + + "github.com/influxdata/telegraf" + "github.com/influxdata/telegraf/registry" +) + +type Creator func() telegraf.Processor + +var Processors = map[string]Creator{} + +func Add(name string, creator Creator) { + if override := registry.GetName(); override != "" { + name = override + } + log.Println("D! Loading plugin: [[processors." + name + "]]") + Processors[name] = creator +}