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