From d90ef6afb37813049154a6f0ebf46d14f3ee345e Mon Sep 17 00:00:00 2001 From: izeye Date: Sun, 8 May 2022 23:52:36 +0900 Subject: [PATCH 1/2] Add missing configuration properties for Statsd See gh-30898 --- .../export/statsd/StatsdProperties.java | 28 +++++ .../statsd/StatsdPropertiesConfigAdapter.java | 10 ++ .../StatsdPropertiesConfigAdapterTests.java | 107 ++++++++++++++++++ .../export/statsd/StatsdPropertiesTests.java | 4 +- 4 files changed, 148 insertions(+), 1 deletion(-) create mode 100644 spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/export/statsd/StatsdPropertiesConfigAdapterTests.java 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 7764813d87b..4924bf37a47 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 @@ -71,11 +71,23 @@ public class StatsdProperties { */ private Duration pollingFrequency = Duration.ofSeconds(10); + /** + * The step size to use in computing windowed statistics like max. The default is 1 + * minute. To get the most out of these statistics, align the step interval to be + * close to your scrape interval. + */ + private Duration step = Duration.ofMinutes(1); + /** * Whether to send unchanged meters to the StatsD server. */ private boolean publishUnchangedMeters = true; + /** + * Whether measurements should be buffered before sending to the StatsD server. + */ + private boolean buffered = true; + public boolean isEnabled() { return this.enabled; } @@ -132,6 +144,14 @@ public class StatsdProperties { this.pollingFrequency = pollingFrequency; } + public Duration getStep() { + return this.step; + } + + public void setStep(Duration step) { + this.step = step; + } + public boolean isPublishUnchangedMeters() { return this.publishUnchangedMeters; } @@ -140,4 +160,12 @@ public class StatsdProperties { this.publishUnchangedMeters = publishUnchangedMeters; } + public boolean isBuffered() { + return this.buffered; + } + + public void setBuffered(boolean buffered) { + this.buffered = buffered; + } + } 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 9913faa156e..1cb671294a3 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 @@ -81,9 +81,19 @@ public class StatsdPropertiesConfigAdapter extends PropertiesConfigAdapter Date: Mon, 16 May 2022 16:33:22 +0200 Subject: [PATCH 2/2] Polish "Add missing configuration properties for Statsd" See gh-30898 --- .../metrics/export/statsd/StatsdProperties.java | 7 +++---- .../export/statsd/StatsdPropertiesConfigAdapter.java | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) 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 4924bf37a47..0ee91dd807c 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 @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 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. @@ -72,9 +72,8 @@ public class StatsdProperties { private Duration pollingFrequency = Duration.ofSeconds(10); /** - * The step size to use in computing windowed statistics like max. The default is 1 - * minute. To get the most out of these statistics, align the step interval to be - * close to your scrape interval. + * Step size to use in computing windowed statistics like max. To get the most out of + * these statistics, align the step interval to be close to your scrape interval. */ private Duration step = Duration.ofMinutes(1); 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 1cb671294a3..b6990a78466 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 @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2022 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.