diff --git a/exporter.go b/exporter.go index 220198d..bf2b4bd 100644 --- a/exporter.go +++ b/exporter.go @@ -262,6 +262,9 @@ func (c *HistogramContainer) Get(metricName string, labels prometheus.Labels, mc histogramVec, ok := c.Elements[mapKey] if !ok { + if mc.metricConflicts(metricName, HistogramMetricType) { + return nil, fmt.Errorf("metric with name %s is already registered", metricName) + } if mc.metricConflicts(metricName+"_sum", HistogramMetricType) { return nil, fmt.Errorf("metric with name %s is already registered", metricName) } diff --git a/exporter_test.go b/exporter_test.go index 9abfa27..06089bd 100644 --- a/exporter_test.go +++ b/exporter_test.go @@ -235,6 +235,20 @@ func TestConflictingMetrics(t *testing.T) { }, }, }, + { + name: "counter vs histogram", + expected: []float64{1}, + in: Events{ + &CounterEvent{ + metricName: "histogram_test1", + value: 1, + }, + &TimerEvent{ + metricName: "histogram.test1", + value: 2, + }, + }, + }, { name: "counter vs histogram sum", expected: []float64{1},