From e63845e3ce999aad47ffe235605b2414ea853a2a Mon Sep 17 00:00:00 2001 From: beorn7 Date: Fri, 11 Nov 2016 12:33:56 +0100 Subject: [PATCH] Add observerFunc to observe with a Gauge --- prometheus/timer.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/prometheus/timer.go b/prometheus/timer.go index f15aba2..d6e0d11 100644 --- a/prometheus/timer.go +++ b/prometheus/timer.go @@ -21,10 +21,15 @@ type Observer interface { Observe(float64) } +type observerFunc func(float64) + +func (o observerFunc) Observe(value float64) { + o(value) +} + type Timer struct { begin time.Time observer Observer - gauge Gauge } func StartTimer() *Timer { @@ -37,7 +42,7 @@ func (t *Timer) With(o Observer) *Timer { } func (t *Timer) WithGauge(g Gauge) *Timer { - t.gauge = g + t.observer = observerFunc(g.Set) return t } @@ -45,7 +50,4 @@ func (t *Timer) Stop() { if t.observer != nil { t.observer.Observe(time.Since(t.begin).Seconds()) } - if t.gauge != nil { - t.gauge.Set(time.Since(t.begin).Seconds()) - } }