diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/statsd/StatsdProperties.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/statsd/StatsdProperties.java index b0e1203c03..89b6d0294b 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/statsd/StatsdProperties.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/statsd/StatsdProperties.java @@ -59,7 +59,8 @@ public class StatsdProperties { /** * How often gauges will be polled. When a gauge is polled, its value is recalculated - * and if the value has changed, it is sent to the StatsD server. + * and if the value has changed (or publishUnchangedMeters is true), + * it is sent to the StatsD server. */ private Duration pollingFrequency = Duration.ofSeconds(10); @@ -68,6 +69,11 @@ public class StatsdProperties { */ private Integer queueSize = Integer.MAX_VALUE; + /** + * Send unchanged meters to the StatsD server. + */ + private Boolean publishUnchangedMeters = true; + public Boolean getEnabled() { return this.enabled; } @@ -124,4 +130,11 @@ public class StatsdProperties { this.queueSize = queueSize; } + public Boolean getPublishUnchangedMeters() { + return this.publishUnchangedMeters; + } + + public void setPublishUnchangedMeters(Boolean publishUnchangedMeters) { + this.publishUnchangedMeters = publishUnchangedMeters; + } } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/statsd/StatsdPropertiesConfigAdapter.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/statsd/StatsdPropertiesConfigAdapter.java index cc90e3ac4b..89e0b2de2a 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/statsd/StatsdPropertiesConfigAdapter.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/statsd/StatsdPropertiesConfigAdapter.java @@ -78,4 +78,8 @@ public class StatsdPropertiesConfigAdapter return get(StatsdProperties::getQueueSize, StatsdConfig.super::queueSize); } + @Override + public boolean publishUnchangedMeters() { + return get(StatsdProperties::getPublishUnchangedMeters, StatsdConfig.super::publishUnchangedMeters); + } }