1package provider
2
3import (
4	"github.com/go-kit/kit/metrics"
5	"github.com/go-kit/kit/metrics/expvar"
6)
7
8type expvarProvider struct{}
9
10// NewExpvarProvider returns a Provider that produces expvar metrics.
11func NewExpvarProvider() Provider {
12	return expvarProvider{}
13}
14
15// NewCounter implements Provider.
16func (p expvarProvider) NewCounter(name string) metrics.Counter {
17	return expvar.NewCounter(name)
18}
19
20// NewGauge implements Provider.
21func (p expvarProvider) NewGauge(name string) metrics.Gauge {
22	return expvar.NewGauge(name)
23}
24
25// NewHistogram implements Provider.
26func (p expvarProvider) NewHistogram(name string, buckets int) metrics.Histogram {
27	return expvar.NewHistogram(name, buckets)
28}
29
30// Stop implements Provider, but is a no-op.
31func (p expvarProvider) Stop() {}
32