From fcb14cde3886533285aec7d7e7af21b7ff6d604f Mon Sep 17 00:00:00 2001 From: Dmitry Smirnov Date: Sun, 21 Feb 2021 17:18:35 +0000 Subject: [PATCH] fixes FTBFS 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 | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/go-metrics/timer.go b/go-metrics/timer.go index e91eca76..2529e092 100644 --- a/go-metrics/timer.go +++ b/go-metrics/timer.go @@ -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) } -- 2.30.2