...
1 package provider
2
3 import (
4 "github.com/go-kit/kit/metrics"
5 "github.com/go-kit/kit/metrics/statsd"
6 )
7
8 type statsdProvider struct {
9 s *statsd.Statsd
10 stop func()
11 }
12
13
14
15
16 func NewStatsdProvider(s *statsd.Statsd, stop func()) Provider {
17 return &statsdProvider{
18 s: s,
19 stop: stop,
20 }
21 }
22
23
24 func (p *statsdProvider) NewCounter(name string) metrics.Counter {
25 return p.s.NewCounter(name, 1.0)
26 }
27
28
29 func (p *statsdProvider) NewGauge(name string) metrics.Gauge {
30 return p.s.NewGauge(name)
31 }
32
33
34
35
36 func (p *statsdProvider) NewHistogram(name string, _ int) metrics.Histogram {
37 return p.s.NewTiming(name, 1.0)
38 }
39
40
41 func (p *statsdProvider) Stop() {
42 p.stop()
43 }
44
View as plain text