Skip to content
This repository was archived by the owner on Mar 20, 2023. It is now read-only.

Commit 873c275

Browse files
committed
Simply log warn message if metric already exists
1 parent d8be57a commit 873c275

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

src/main/java/com/simple/metrics/kafka/DropwizardReporter.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,18 +41,19 @@ public void init(List<KafkaMetric> list) {
4141
public void metricChange(final KafkaMetric kafkaMetric) {
4242
LOGGER.debug("Processing a metric change for {}", kafkaMetric.metricName().toString());
4343
String name = dropwizardMetricName(kafkaMetric);
44+
4445
Gauge<Double> gauge = new Gauge<Double>() {
4546
@Override
4647
public Double getValue() {
4748
return kafkaMetric.value();
4849
}
4950
};
50-
if (registry.getGauges().containsKey(name)) {
51-
LOGGER.debug("{} was already registered, so first removing.", name);
52-
registry.remove(name);
53-
}
5451
LOGGER.debug("Registering {}", name);
55-
registry.register(name, gauge);
52+
try {
53+
registry.register(name, gauge);
54+
} catch (IllegalArgumentException e) {
55+
LOGGER.warn("metricChange called for `{}' which was already registered, ignoring.", name);
56+
}
5657
}
5758

5859
@Override
@@ -65,7 +66,7 @@ public void metricRemoval(KafkaMetric kafkaMetric) {
6566
@Override
6667
public void close() {}
6768

68-
private String dropwizardMetricName(KafkaMetric kafkaMetric) {
69+
private static String dropwizardMetricName(KafkaMetric kafkaMetric) {
6970
MetricName name = kafkaMetric.metricName();
7071

7172
List<String> nameParts = new ArrayList<String>(2);

0 commit comments

Comments
 (0)