diff --git a/server/metrics/metrics.go b/server/metrics/metrics.go index 2f479bcfef854d98b778c68e617ddca5cc8ee866..cc7368ffe892c01cc781e8ef67742b9209e8a6e5 100644 --- a/server/metrics/metrics.go +++ b/server/metrics/metrics.go @@ -22,8 +22,8 @@ type Metrics struct { gc geiger.Counter cpm, cps, - volts, - errs *prometheus.HistogramVec + volts *prometheus.HistogramVec + errs *prometheus.GaugeVec } // Register metrics and metrics page. @@ -51,12 +51,11 @@ func Register(gc geiger.Counter) *Metrics { Help: "Voltage readings", Buckets: []float64{22, 27, 42, 50}, }, []string{"serial"}), - errs: prometheus.NewHistogramVec(prometheus.HistogramOpts{ + errs: prometheus.NewGaugeVec(prometheus.GaugeOpts{ Namespace: "gqgmc", Subsystem: "sys", Name: "errors", - Help: "Error counts", - Buckets: []float64{1, 10, 100}, + Help: "Error counts per iteration", }, []string{"serial"}), } prometheus.MustRegister(metrics.cpm) @@ -74,11 +73,11 @@ func (m *Metrics) Gather() { var ( cpm, cps uint16 volts int16 - errCt float64 err error ) for { + errCt := 0 if cpm, err = m.gc.GetCPM(); err != nil { log.Printf("gc.GetCPM error: %s\n", err) errCt++ @@ -97,7 +96,7 @@ func (m *Metrics) Gather() { } else { m.volts.WithLabelValues(m.gc.Serial()).Observe(float64(volts)) } - m.errs.WithLabelValues(m.gc.Serial()).Observe(errCt) + m.errs.WithLabelValues(m.gc.Serial()).Set(float64(errCt)) time.Sleep(5 * time.Second) } }