fixes FTBFS
authorDmitry Smirnov <onlyjob@debian.org>
Sun, 14 Jun 2020 20:12:29 +0000 (21:12 +0100)
committerFelix Geyer <fgeyer@debian.org>
Sun, 14 Jun 2020 20:12:29 +0000 (21:12 +0100)
Origin: upstream, https://github.com/docker/go-metrics/commit/db152003892af64a8a892e1ee49edf8b6580a657.patch
Forarded: not-needed

vendor/github.com/docker/go-metrics/timer.go:39:17:
cannot use lt.m.WithLabelValues(labels...) (type prometheus.Observer) as type prometheus.Histogram in field value:
       prometheus.Observer does not implement prometheus.Histogram (missing Collect method)

Gbp-Pq: Name go-metrics_prometheus-fix_Observer.patch

go-metrics/timer.go

index e91eca76bd985e5de69775b233d090867915deda..2529e092c52ee24fa25eead957fc97949baa4d03 100644 (file)
@@ -48,7 +48,7 @@ func (lt *labeledTimer) Collect(c chan<- prometheus.Metric) {
 }
 
 type timer struct {
-       m prometheus.Histogram
+       m prometheus.Observer
 }
 
 func (t *timer) Update(duration time.Duration) {
@@ -60,9 +60,14 @@ func (t *timer) UpdateSince(since time.Time) {
 }
 
 func (t *timer) Describe(c chan<- *prometheus.Desc) {
-       t.m.Describe(c)
+       c <- t.m.(prometheus.Metric).Desc()
 }
 
 func (t *timer) Collect(c chan<- prometheus.Metric) {
-       t.m.Collect(c)
+       // Are there any observers that don't implement Collector? It is really
+       // unclear what the point of the upstream change was, but we'll let this
+       // panic if we get an observer that doesn't implement collector. In this
+       // case, we should almost always see metricVec objects, so this should
+       // never panic.
+       t.m.(prometheus.Collector).Collect(c)
 }