From 4acb05aa89601adfeb5d9865de55d23c374c858d Mon Sep 17 00:00:00 2001 From: bakins Date: Thu, 22 Oct 2020 10:07:58 -0400 Subject: [PATCH] Use an interface for Registry so we may have multiple implementations Signed-off-by: bakins --- pkg/exporter/exporter.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkg/exporter/exporter.go b/pkg/exporter/exporter.go index 7967b8d..4f2b46b 100644 --- a/pkg/exporter/exporter.go +++ b/pkg/exporter/exporter.go @@ -31,9 +31,17 @@ const ( regErrF = "Failed to update metric" ) +type Registry interface { + GetCounter(metricName string, labels prometheus.Labels, help string, mapping *mapper.MetricMapping, metricsCount *prometheus.GaugeVec) (prometheus.Counter, error) + GetGauge(metricName string, labels prometheus.Labels, help string, mapping *mapper.MetricMapping, metricsCount *prometheus.GaugeVec) (prometheus.Gauge, error) + GetHistogram(metricName string, labels prometheus.Labels, help string, mapping *mapper.MetricMapping, metricsCount *prometheus.GaugeVec) (prometheus.Observer, error) + GetSummary(metricName string, labels prometheus.Labels, help string, mapping *mapper.MetricMapping, metricsCount *prometheus.GaugeVec) (prometheus.Observer, error) + RemoveStaleMetrics() +} + type Exporter struct { Mapper *mapper.MetricMapper - Registry *registry.Registry + Registry Registry Logger log.Logger EventsActions *prometheus.CounterVec EventsUnmapped prometheus.Counter