2015-04-02 00:34:32 +08:00
|
|
|
package plugins
|
|
|
|
|
|
2015-04-07 00:32:10 +08:00
|
|
|
type Accumulator interface {
|
|
|
|
|
Add(name string, value interface{}, tags map[string]string)
|
|
|
|
|
}
|
2015-04-02 00:34:32 +08:00
|
|
|
|
|
|
|
|
type Plugin interface {
|
2015-05-19 06:10:11 +08:00
|
|
|
SampleConfig() string
|
|
|
|
|
Description() string
|
2015-04-07 00:32:10 +08:00
|
|
|
Gather(Accumulator) error
|
2015-04-02 00:34:32 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Creator func() Plugin
|
|
|
|
|
|
|
|
|
|
var Plugins = map[string]Creator{}
|
|
|
|
|
|
|
|
|
|
func Add(name string, creator Creator) {
|
|
|
|
|
Plugins[name] = creator
|
|
|
|
|
}
|