- Adds a client implementation using the prometheus go_client library
that exposes metrics.
- Adds a new type of output "ServiceOutput" which follows inline with
the "ServicePlugin", adding a Stop and Start method for the service
This change also requires the newer prometheus/client_golang code, so
the prometheus plugin needed to be changed.
Added the following to Godep:
- bitbucket.org/ww/goautoneg (in github.com/common/expfmt/encode.go)
- prometheus/common/expfmt (in plugins/prometheus.go)
- github.com/prometheus/common/model (in plugins/prometheus.go)
- github.com/prometheus/procfs (in github.com/client_golang/prometheus)
- github.com/beorn7/perks/quantile (in github.com/client_golang/prometheus)
X-Github-Meta: closes #306
44 lines
1.1 KiB
Go
44 lines
1.1 KiB
Go
package outputs
|
|
|
|
import (
|
|
"github.com/influxdb/influxdb/client/v2"
|
|
)
|
|
|
|
type Output interface {
|
|
// Connect to the Output
|
|
Connect() error
|
|
// Close any connections to the Output
|
|
Close() error
|
|
// Description returns a one-sentence description on the Output
|
|
Description() string
|
|
// SampleConfig returns the default configuration of the Output
|
|
SampleConfig() string
|
|
// Write takes in group of points to be written to the Output
|
|
Write(points []*client.Point) error
|
|
}
|
|
|
|
type ServiceOutput interface {
|
|
// Connect to the Output
|
|
Connect() error
|
|
// Close any connections to the Output
|
|
Close() error
|
|
// Description returns a one-sentence description on the Output
|
|
Description() string
|
|
// SampleConfig returns the default configuration of the Output
|
|
SampleConfig() string
|
|
// Write takes in group of points to be written to the Output
|
|
Write(points []*client.Point) error
|
|
// Start the "service" that will provide an Output
|
|
Start() error
|
|
// Stop the "service" that will provide an Output
|
|
Stop()
|
|
}
|
|
|
|
type Creator func() Output
|
|
|
|
var Outputs = map[string]Creator{}
|
|
|
|
func Add(name string, creator Creator) {
|
|
Outputs[name] = creator
|
|
}
|