diff --git a/metric/prometheus.go b/metric/prometheus.go index 32d4d81..9a32756 100644 --- a/metric/prometheus.go +++ b/metric/prometheus.go @@ -103,6 +103,10 @@ func (pe *prometheusExporter) loop() { case nm := <-pe.registerChan: var nextmetrics map[string]*prometheusMetricDesc if collector != nil { + if collector.metrics[nm.key] != nil { + break + } + nextmetrics = collector.metrics prometheus.Unregister(collector) nextmetrics[nm.key] = nm