...
1 package prometheus
2
3 import (
4 pm "github.com/prometheus/client_golang/prometheus"
5 )
6
7 type CounterVec struct {
8 collector
9 opts CounterOpts
10 labelnames []string
11 gv *pm.CounterVec
12 }
13
14 func (h *CounterVec) init() *CounterVec {
15 h.gv = pm.NewCounterVec(
16 pm.CounterOpts{
17 Name: h.opts.Name,
18 Help: h.opts.Help,
19 }, h.labelnames)
20 h.setParent(h)
21 return h
22 }
23 func (g *CounterVec) PMCollector() pm.Collector {
24 return g.gv
25 }
26 func (g *CounterVec) With(l Labels) pm.Counter {
27 promreg.used(g.opts.Name, l)
28 return g.gv.With(pm.Labels(l))
29 }
30 func (g *CounterVec) Inc() {
31 g.gv.With(pm.Labels{}).Inc()
32 }
33
View as plain text