diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/reader/MetricRegistryMetricReader.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/reader/MetricRegistryMetricReader.java index b5c97de6ee3..5034f3fd8da 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/reader/MetricRegistryMetricReader.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/reader/MetricRegistryMetricReader.java @@ -1,5 +1,5 @@ /* - * Copyright 2013-2015 the original author or authors. + * Copyright 2013-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -87,9 +87,15 @@ public class MetricRegistryMetricReader implements MetricReader, MetricRegistryL return new Metric(metricName, counter.getCount()); } if (metric instanceof Gauge) { - @SuppressWarnings("unchecked") - Gauge value = (Gauge) metric; - return new Metric(metricName, value.getValue()); + Object value = ((Gauge) metric).getValue(); + if (value instanceof Number) { + return new Metric(metricName, (Number) value); + } + if (logger.isDebugEnabled()) { + logger.debug("Ignoring gauge '" + name + "' (" + metric + + ") as its value is not a Number"); + } + return null; } if (metric instanceof Sampling) { if (metricName.contains(".snapshot.")) { @@ -129,13 +135,6 @@ public class MetricRegistryMetricReader implements MetricReader, MetricRegistryL @Override public void onGaugeAdded(String name, Gauge gauge) { - if (!(gauge.getValue() instanceof Number)) { - if (logger.isDebugEnabled()) { - logger.debug("Ignoring gauge '" + name + "' (" + gauge - + ") as its value is not a Number"); - } - return; - } this.names.put(name, name); synchronized (this.monitor) { this.reverse.add(name, name); diff --git a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/reader/MetricRegistryMetricReaderTests.java b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/reader/MetricRegistryMetricReaderTests.java index 9caadbd0299..077549d98cf 100644 --- a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/reader/MetricRegistryMetricReaderTests.java +++ b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/reader/MetricRegistryMetricReaderTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2015 the original author or authors. + * Copyright 2012-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.