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

Commit

Permalink
Simply log warn message if metric already exists
Browse files Browse the repository at this point in the history
  • Loading branch information
jklukas committed Apr 25, 2017
1 parent d8be57a commit 873c275
Showing 1 changed file with 7 additions and 6 deletions.
13 changes: 7 additions & 6 deletions src/main/java/com/simple/metrics/kafka/DropwizardReporter.java
Original file line number Diff line number Diff line change
Expand Up @@ -41,18 +41,19 @@ public void init(List<KafkaMetric> list) {
public void metricChange(final KafkaMetric kafkaMetric) {
LOGGER.debug("Processing a metric change for {}", kafkaMetric.metricName().toString());
String name = dropwizardMetricName(kafkaMetric);

Gauge<Double> gauge = new Gauge<Double>() {
@Override
public Double getValue() {
return kafkaMetric.value();
}
};
if (registry.getGauges().containsKey(name)) {
LOGGER.debug("{} was already registered, so first removing.", name);
registry.remove(name);
}
LOGGER.debug("Registering {}", name);
registry.register(name, gauge);
try {
registry.register(name, gauge);
} catch (IllegalArgumentException e) {
LOGGER.warn("metricChange called for `{}' which was already registered, ignoring.", name);
}
}

@Override
Expand All @@ -65,7 +66,7 @@ public void metricRemoval(KafkaMetric kafkaMetric) {
@Override
public void close() {}

private String dropwizardMetricName(KafkaMetric kafkaMetric) {
private static String dropwizardMetricName(KafkaMetric kafkaMetric) {
MetricName name = kafkaMetric.metricName();

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

0 comments on commit 873c275

Please sign in to comment.