12345678910111213141516171819202122232425262728293031323334353637383940 |
- package provider
- import (
- "github.com/go-kit/kit/metrics"
- "github.com/go-kit/kit/metrics/influx"
- )
- type influxProvider struct {
- in *influx.Influx
- stop func()
- }
- // NewInfluxProvider takes the given Influx object and stop func, and returns
- // a Provider that produces Influx metrics.
- func NewInfluxProvider(in *influx.Influx, stop func()) Provider {
- return &influxProvider{
- in: in,
- stop: stop,
- }
- }
- // NewCounter implements Provider. Per-metric tags are not supported.
- func (p *influxProvider) NewCounter(name string) metrics.Counter {
- return p.in.NewCounter(name)
- }
- // NewGauge implements Provider. Per-metric tags are not supported.
- func (p *influxProvider) NewGauge(name string) metrics.Gauge {
- return p.in.NewGauge(name)
- }
- // NewHistogram implements Provider. Per-metric tags are not supported.
- func (p *influxProvider) NewHistogram(name string, buckets int) metrics.Histogram {
- return p.in.NewHistogram(name)
- }
- // Stop implements Provider, invoking the stop function passed at construction.
- func (p *influxProvider) Stop() {
- p.stop()
- }
|