From ef78cb33b3c267e1261b2053365d2779266f0373 Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Thu, 14 Dec 2017 12:27:24 +0100 Subject: [PATCH] Move metrics properties to "management.metrics" Closes gh-11340 --- .../metrics/MeterBindersConfiguration.java | 8 +- .../metrics/MetricsProperties.java | 2 +- .../atlas/AtlasExportConfiguration.java | 2 +- .../metrics/export/atlas/AtlasProperties.java | 2 +- .../datadog/DatadogExportConfiguration.java | 4 +- .../export/datadog/DatadogProperties.java | 2 +- .../ganglia/GangliaExportConfiguration.java | 2 +- .../export/ganglia/GangliaProperties.java | 2 +- .../graphite/GraphiteExportConfiguration.java | 2 +- .../export/graphite/GraphiteProperties.java | 2 +- .../influx/InfluxExportConfiguration.java | 2 +- .../export/influx/InfluxProperties.java | 2 +- .../export/jmx/JmxExportConfiguration.java | 2 +- .../PrometheusExportConfiguration.java | 2 +- .../prometheus/PrometheusProperties.java | 2 +- .../simple/SimpleExportConfiguration.java | 2 +- .../export/simple/SimpleProperties.java | 2 +- .../statsd/StatsdExportConfiguration.java | 2 +- .../export/statsd/StatsdProperties.java | 2 +- .../DataSourcePoolMetricsConfiguration.java | 2 +- .../metrics/jdbc/JdbcMetricsProperties.java | 2 +- ...itional-spring-configuration-metadata.json | 30 +++- ...intsAutoConfigurationIntegrationTests.java | 4 +- ...ricsAutoConfigurationIntegrationTests.java | 2 +- .../MetricsAutoConfigurationTests.java | 10 +- .../SimpleExportConfigurationTests.java | 16 +- .../appendix-application-properties.adoc | 157 +++++++++--------- .../asciidoc/production-ready-features.adoc | 12 +- 28 files changed, 149 insertions(+), 132 deletions(-) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/MeterBindersConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/MeterBindersConfiguration.java index 7bd727c22b4..fe548bf0b71 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/MeterBindersConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/MeterBindersConfiguration.java @@ -37,7 +37,7 @@ import org.springframework.context.annotation.Configuration; class MeterBindersConfiguration { @Bean - @ConditionalOnProperty(value = "spring.metrics.binders.jvmmemory.enabled", matchIfMissing = true) + @ConditionalOnProperty(value = "management.metrics.binders.jvmmemory.enabled", matchIfMissing = true) @ConditionalOnMissingBean(JvmMemoryMetrics.class) public JvmMemoryMetrics jvmMemoryMetrics() { return new JvmMemoryMetrics(); @@ -45,21 +45,21 @@ class MeterBindersConfiguration { @Bean @ConditionalOnMissingBean(LogbackMetrics.class) - @ConditionalOnProperty(value = "spring.metrics.binders.logback.enabled", matchIfMissing = true) + @ConditionalOnProperty(value = "management.metrics.binders.logback.enabled", matchIfMissing = true) @ConditionalOnClass(name = "ch.qos.logback.classic.Logger") public LogbackMetrics logbackMetrics() { return new LogbackMetrics(); } @Bean - @ConditionalOnProperty(value = "spring.metrics.binders.uptime.enabled", matchIfMissing = true) + @ConditionalOnProperty(value = "management.metrics.binders.uptime.enabled", matchIfMissing = true) @ConditionalOnMissingBean(UptimeMetrics.class) public UptimeMetrics uptimeMetrics() { return new UptimeMetrics(); } @Bean - @ConditionalOnProperty(value = "spring.metrics.binders.processor.enabled", matchIfMissing = true) + @ConditionalOnProperty(value = "management.metrics.binders.processor.enabled", matchIfMissing = true) @ConditionalOnMissingBean(ProcessorMetrics.class) public ProcessorMetrics processorMetrics() { return new ProcessorMetrics(); diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsProperties.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsProperties.java index 074f1b83b61..6409d6f4863 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsProperties.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsProperties.java @@ -24,7 +24,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties; * @author Jon Schneider * @since 2.0.0 */ -@ConfigurationProperties("spring.metrics") +@ConfigurationProperties("management.metrics") public class MetricsProperties { private Web web = new Web(); diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/atlas/AtlasExportConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/atlas/AtlasExportConfiguration.java index 8530caa3491..2410f35f4f0 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/atlas/AtlasExportConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/atlas/AtlasExportConfiguration.java @@ -47,7 +47,7 @@ public class AtlasExportConfiguration { } @Bean - @ConditionalOnProperty(value = "spring.metrics.export.atlas.enabled", matchIfMissing = true) + @ConditionalOnProperty(value = "management.metrics.export.atlas.enabled", matchIfMissing = true) public MetricsExporter atlasExporter(AtlasConfig atlasConfig, Clock clock) { return () -> new AtlasMeterRegistry(atlasConfig, clock); } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/atlas/AtlasProperties.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/atlas/AtlasProperties.java index 69ea175a49c..2a3a6ca76e1 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/atlas/AtlasProperties.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/atlas/AtlasProperties.java @@ -27,7 +27,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties; * @since 2.0.0 * @author Jon Schneider */ -@ConfigurationProperties(prefix = "spring.metrics.export.atlas") +@ConfigurationProperties(prefix = "management.metrics.export.atlas") public class AtlasProperties extends StepRegistryProperties { /** diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/datadog/DatadogExportConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/datadog/DatadogExportConfiguration.java index d997f10f0af..11700e2c015 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/datadog/DatadogExportConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/datadog/DatadogExportConfiguration.java @@ -36,7 +36,7 @@ import org.springframework.context.annotation.Configuration; */ @Configuration @ConditionalOnClass(DatadogMeterRegistry.class) -@ConditionalOnProperty("spring.metrics.export.datadog.api-key") +@ConditionalOnProperty("management.metrics.export.datadog.api-key") @EnableConfigurationProperties(DatadogProperties.class) public class DatadogExportConfiguration { @@ -47,7 +47,7 @@ public class DatadogExportConfiguration { } @Bean - @ConditionalOnProperty(value = "spring.metrics.export.datadog.enabled", matchIfMissing = true) + @ConditionalOnProperty(value = "management.metrics.export.datadog.enabled", matchIfMissing = true) public MetricsExporter datadogExporter(DatadogConfig datadogConfig, Clock clock) { return () -> new DatadogMeterRegistry(datadogConfig, clock); } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/datadog/DatadogProperties.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/datadog/DatadogProperties.java index 5394e5824e2..d4c80b068c4 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/datadog/DatadogProperties.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/datadog/DatadogProperties.java @@ -25,7 +25,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties; * @author Jon Schneider * @since 2.0.0 */ -@ConfigurationProperties(prefix = "spring.metrics.export.datadog") +@ConfigurationProperties(prefix = "management.metrics.export.datadog") public class DatadogProperties extends StepRegistryProperties { /** diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/ganglia/GangliaExportConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/ganglia/GangliaExportConfiguration.java index db6b10bfa7f..160d56651f6 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/ganglia/GangliaExportConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/ganglia/GangliaExportConfiguration.java @@ -47,7 +47,7 @@ public class GangliaExportConfiguration { } @Bean - @ConditionalOnProperty(value = "spring.metrics.export.ganglia.enabled", matchIfMissing = true) + @ConditionalOnProperty(value = "management.metrics.export.ganglia.enabled", matchIfMissing = true) public MetricsExporter gangliaExporter(GangliaConfig gangliaConfig, HierarchicalNameMapper nameMapper, Clock clock) { return () -> new GangliaMeterRegistry(gangliaConfig, nameMapper, clock); diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/ganglia/GangliaProperties.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/ganglia/GangliaProperties.java index 35708fa75cf..b2c0b9061b4 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/ganglia/GangliaProperties.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/ganglia/GangliaProperties.java @@ -29,7 +29,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties; * @author Jon Schneider * @since 2.0.0 */ -@ConfigurationProperties(prefix = "spring.metrics.export.ganglia") +@ConfigurationProperties(prefix = "management.metrics.export.ganglia") public class GangliaProperties { /** diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/graphite/GraphiteExportConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/graphite/GraphiteExportConfiguration.java index 0e6832b3ce6..898799e0b70 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/graphite/GraphiteExportConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/graphite/GraphiteExportConfiguration.java @@ -47,7 +47,7 @@ public class GraphiteExportConfiguration { } @Bean - @ConditionalOnProperty(value = "spring.metrics.export.graphite.enabled", matchIfMissing = true) + @ConditionalOnProperty(value = "management.metrics.export.graphite.enabled", matchIfMissing = true) public MetricsExporter graphiteExporter(GraphiteConfig graphiteConfig, HierarchicalNameMapper nameMapper, Clock clock) { return () -> new GraphiteMeterRegistry(graphiteConfig, nameMapper, clock); diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/graphite/GraphiteProperties.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/graphite/GraphiteProperties.java index 16f05613149..0ce03a5d05b 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/graphite/GraphiteProperties.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/graphite/GraphiteProperties.java @@ -29,7 +29,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties; * @author Jon Schneider * @since 2.0.0 */ -@ConfigurationProperties(prefix = "spring.metrics.export.graphite") +@ConfigurationProperties(prefix = "management.metrics.export.graphite") public class GraphiteProperties { /** diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/influx/InfluxExportConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/influx/InfluxExportConfiguration.java index 8b31b410fb5..444263a3521 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/influx/InfluxExportConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/influx/InfluxExportConfiguration.java @@ -46,7 +46,7 @@ public class InfluxExportConfiguration { } @Bean - @ConditionalOnProperty(value = "spring.metrics.export.influx.enabled", matchIfMissing = true) + @ConditionalOnProperty(value = "management.metrics.export.influx.enabled", matchIfMissing = true) public MetricsExporter influxExporter(InfluxConfig influxConfig, Clock clock) { return () -> new InfluxMeterRegistry(influxConfig, clock); } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/influx/InfluxProperties.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/influx/InfluxProperties.java index 982898891a1..c31e822e8d5 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/influx/InfluxProperties.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/influx/InfluxProperties.java @@ -27,7 +27,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties; * @author Jon Schneider * @since 2.0.0 */ -@ConfigurationProperties(prefix = "spring.metrics.export.influx") +@ConfigurationProperties(prefix = "management.metrics.export.influx") public class InfluxProperties extends StepRegistryProperties { /** diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/jmx/JmxExportConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/jmx/JmxExportConfiguration.java index 5a72341c07a..14a10c7b15a 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/jmx/JmxExportConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/jmx/JmxExportConfiguration.java @@ -38,7 +38,7 @@ import org.springframework.context.annotation.Configuration; public class JmxExportConfiguration { @Bean - @ConditionalOnProperty(value = "spring.metrics.export.jmx.enabled", matchIfMissing = true) + @ConditionalOnProperty(value = "management.metrics.export.jmx.enabled", matchIfMissing = true) public MetricsExporter jmxExporter(HierarchicalNameMapper nameMapper, Clock clock) { return () -> new JmxMeterRegistry(nameMapper, clock); } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusExportConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusExportConfiguration.java index b8d59c9c175..42fbd2b9347 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusExportConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusExportConfiguration.java @@ -49,7 +49,7 @@ public class PrometheusExportConfiguration { } @Bean - @ConditionalOnProperty(value = "spring.metrics.export.prometheus.enabled", matchIfMissing = true) + @ConditionalOnProperty(value = "management.metrics.export.prometheus.enabled", matchIfMissing = true) public MetricsExporter prometheusExporter(PrometheusConfig prometheusConfig, CollectorRegistry collectorRegistry, Clock clock) { return () -> new PrometheusMeterRegistry(prometheusConfig, collectorRegistry, diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusProperties.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusProperties.java index 9bca6c23aca..d8dbd480854 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusProperties.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusProperties.java @@ -26,7 +26,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties; * @author Jon Schneider * @since 2.0.0 */ -@ConfigurationProperties(prefix = "spring.metrics.export.prometheus") +@ConfigurationProperties(prefix = "management.metrics.export.prometheus") public class PrometheusProperties { /** diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/simple/SimpleExportConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/simple/SimpleExportConfiguration.java index edcbe8b0da3..f46d8b0e460 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/simple/SimpleExportConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/simple/SimpleExportConfiguration.java @@ -38,7 +38,7 @@ import org.springframework.context.annotation.Configuration; public class SimpleExportConfiguration { @Bean - @ConditionalOnProperty(value = "spring.metrics.export.simple.enabled", matchIfMissing = true) + @ConditionalOnProperty(value = "management.metrics.export.simple.enabled", matchIfMissing = true) @ConditionalOnMissingBean(MetricsExporter.class) public MetricsExporter simpleExporter(SimpleConfig config, Clock clock) { return () -> new SimpleMeterRegistry(config, clock); diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/simple/SimpleProperties.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/simple/SimpleProperties.java index d5900dea313..e6a8aff85c8 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/simple/SimpleProperties.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/simple/SimpleProperties.java @@ -30,7 +30,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties; * @author Jon Schneider * @since 2.0.0 */ -@ConfigurationProperties(prefix = "spring.metrics.export.simple") +@ConfigurationProperties(prefix = "management.metrics.export.simple") public class SimpleProperties { /** diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/statsd/StatsdExportConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/statsd/StatsdExportConfiguration.java index d999110c037..27cb3526d3e 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/statsd/StatsdExportConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/statsd/StatsdExportConfiguration.java @@ -47,7 +47,7 @@ public class StatsdExportConfiguration { } @Bean - @ConditionalOnProperty(value = "spring.metrics.export.statsd.enabled", matchIfMissing = true) + @ConditionalOnProperty(value = "management.metrics.export.statsd.enabled", matchIfMissing = true) public MetricsExporter statsdExporter(StatsdConfig statsdConfig, HierarchicalNameMapper hierarchicalNameMapper, Clock clock) { return () -> new StatsdMeterRegistry(statsdConfig, hierarchicalNameMapper, clock); 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 40a91fee62d..fe7b481efff 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 @@ -29,7 +29,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties; * @author Stephane Nicoll * @since 2.0.0 */ -@ConfigurationProperties(prefix = "spring.metrics.export.statsd") +@ConfigurationProperties(prefix = "management.metrics.export.statsd") public class StatsdProperties { /** diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jdbc/DataSourcePoolMetricsConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jdbc/DataSourcePoolMetricsConfiguration.java index a0eab7a213f..43d7b677d81 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jdbc/DataSourcePoolMetricsConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jdbc/DataSourcePoolMetricsConfiguration.java @@ -43,7 +43,7 @@ import org.springframework.util.StringUtils; */ @Configuration @ConditionalOnBean({ DataSource.class, DataSourcePoolMetadataProvider.class }) -@ConditionalOnProperty(value = "spring.metrics.jdbc.instrument-datasource", matchIfMissing = true) +@ConditionalOnProperty(value = "management.metrics.jdbc.instrument-datasource", matchIfMissing = true) @EnableConfigurationProperties(JdbcMetricsProperties.class) public class DataSourcePoolMetricsConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jdbc/JdbcMetricsProperties.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jdbc/JdbcMetricsProperties.java index fffaf48a276..6bd65513d11 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jdbc/JdbcMetricsProperties.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jdbc/JdbcMetricsProperties.java @@ -24,7 +24,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties; * @author Stephane Nicoll * @since 2.0.0 */ -@ConfigurationProperties("spring.metrics.jdbc") +@ConfigurationProperties("management.metrics.jdbc") public class JdbcMetricsProperties { /** diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json index 1bc5365c2e5..6f45fcd902f 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -186,31 +186,31 @@ "defaultValue": true }, { - "name": "spring.metrics.binders.jvmmemory.enabled", + "name": "management.metrics.binders.jvmmemory.enabled", "type": "java.lang.Boolean", "description": "Whether to enable JVM memory metrics.", "defaultValue": true }, { - "name": "spring.metrics.binders.logback.enabled", + "name": "management.metrics.binders.logback.enabled", "type": "java.lang.Boolean", "description": "Whether to enable Logback metrics.", "defaultValue": true }, { - "name": "spring.metrics.binders.processor.enabled", + "name": "management.metrics.binders.processor.enabled", "type": "java.lang.Boolean", "description": "Whether to enable processor metrics.", "defaultValue": true }, { - "name": "spring.metrics.binders.uptime.enabled", + "name": "management.metrics.binders.uptime.enabled", "type": "java.lang.Boolean", "description": "Whether to enable uptime metrics.", "defaultValue": true }, { - "name": "spring.metrics.jdbc.instrument-datasource", + "name": "management.metrics.jdbc.instrument-datasource", "type": "java.lang.Boolean", "description": "Instrument all available data sources.", "defaultValue": true @@ -1516,7 +1516,6 @@ "description": "Key for redis repository export (if active). Should be globally unique for a\n system sharing a redis repository across multiple processes.", "defaultValue": "keys.spring.metrics", "deprecation": { - "replacement": "spring.sendgrid.api-key", "reason": "Metrics support is now using Micrometer.", "level": "error" } @@ -1540,6 +1539,25 @@ "level": "error" } }, + { + "name": "spring.metrics.export.statsd.host", + "type": "java.lang.String", + "description": "Host of a statsd server to receive exported metrics.", + "deprecation": { + "replacement": "management.metrics.export.statsd.host", + "level": "error" + } + }, + { + "name": "spring.metrics.export.statsd.port", + "type": "java.lang.Integer", + "description": "Port of a statsd server to receive exported metrics.", + "defaultValue": 8125, + "deprecation": { + "replacement": "management.metrics.export.statsd.port", + "level": "error" + } + }, { "name": "spring.metrics.export.statsd.prefix", "type": "java.lang.String", diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/WebEndpointsAutoConfigurationIntegrationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/WebEndpointsAutoConfigurationIntegrationTests.java index 853eff54e02..9dac46e3950 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/WebEndpointsAutoConfigurationIntegrationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/WebEndpointsAutoConfigurationIntegrationTests.java @@ -70,14 +70,14 @@ public class WebEndpointsAutoConfigurationIntegrationTests { return new WebApplicationContextRunner() .withConfiguration( UserConfigurations.of(WebEndpointTestApplication.class)) - .withPropertyValues("spring.metrics.export.statsd.enabled:false"); + .withPropertyValues("management.metrics.export.statsd.enabled:false"); } private ReactiveWebApplicationContextRunner reactiveWebRunner() { return new ReactiveWebApplicationContextRunner() .withConfiguration( UserConfigurations.of(WebEndpointTestApplication.class)) - .withPropertyValues("spring.metrics.export.statsd.enabled:false"); + .withPropertyValues("management.metrics.export.statsd.enabled:false"); } @EnableAutoConfiguration(exclude = { FlywayAutoConfiguration.class, diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsAutoConfigurationIntegrationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsAutoConfigurationIntegrationTests.java index e3248270020..7633b504bbb 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsAutoConfigurationIntegrationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsAutoConfigurationIntegrationTests.java @@ -67,7 +67,7 @@ import static org.springframework.test.web.client.response.MockRestResponseCreat */ @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT, classes = MetricsAutoConfigurationIntegrationTests.MetricsApp.class) -@TestPropertySource(properties = "spring.metrics.use-global-registry=false") +@TestPropertySource(properties = "management.metrics.use-global-registry=false") public class MetricsAutoConfigurationIntegrationTests { @Autowired diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsAutoConfigurationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsAutoConfigurationTests.java index f0670d2e1fe..624b58cb652 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsAutoConfigurationTests.java @@ -50,7 +50,7 @@ public class MetricsAutoConfigurationTests { .withConfiguration( AutoConfigurations.of(DataSourceAutoConfiguration.class)) .withPropertyValues("spring.datasource.generate-unique-name=true", - "spring.metrics.use-global-registry=false") + "management.metrics.use-global-registry=false") .run((context) -> { context.getBean(DataSource.class).getConnection().getMetaData(); MeterRegistry registry = context.getBean(MeterRegistry.class); @@ -65,8 +65,8 @@ public class MetricsAutoConfigurationTests { .withConfiguration( AutoConfigurations.of(DataSourceAutoConfiguration.class)) .withPropertyValues("spring.datasource.generate-unique-name=true", - "spring.metrics.jdbc.datasource-metric-name=custom.name", - "spring.metrics.use-global-registry=false") + "management.metrics.jdbc.datasource-metric-name=custom.name", + "management.metrics.use-global-registry=false") .run((context) -> { context.getBean(DataSource.class).getConnection().getMetaData(); MeterRegistry registry = context.getBean(MeterRegistry.class); @@ -81,8 +81,8 @@ public class MetricsAutoConfigurationTests { .withConfiguration( AutoConfigurations.of(DataSourceAutoConfiguration.class)) .withPropertyValues("spring.datasource.generate-unique-name=true", - "spring.metrics.jdbc.instrument-datasource=false", - "spring.metrics.use-global-registry=false") + "management.metrics.jdbc.instrument-datasource=false", + "management.metrics.use-global-registry=false") .run((context) -> { context.getBean(DataSource.class).getConnection().getMetaData(); MeterRegistry registry = context.getBean(MeterRegistry.class); diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/export/simple/SimpleExportConfigurationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/export/simple/SimpleExportConfigurationTests.java index 30c689176b8..01256cfe434 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/export/simple/SimpleExportConfigurationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/export/simple/SimpleExportConfigurationTests.java @@ -39,14 +39,14 @@ public class SimpleExportConfigurationTests { @Test public void simpleMeterRegistryIsInTheCompositeWhenNoOtherRegistryIs() { new ApplicationContextRunner() - .withPropertyValues("spring.metrics.export.atlas.enabled=false", - "spring.metrics.export.datadog.enabled=false", - "spring.metrics.export.ganglia.enabled=false", - "spring.metrics.export.graphite.enabled=false", - "spring.metrics.export.influx.enabled=false", - "spring.metrics.export.jmx.enabled=false", - "spring.metrics.export.prometheus.enabled=false", - "spring.metrics.export.statsd.enabled=false") + .withPropertyValues("management.metrics.export.atlas.enabled=false", + "management.metrics.export.datadog.enabled=false", + "management.metrics.export.ganglia.enabled=false", + "management.metrics.export.graphite.enabled=false", + "management.metrics.export.influx.enabled=false", + "management.metrics.export.jmx.enabled=false", + "management.metrics.export.prometheus.enabled=false", + "management.metrics.export.statsd.enabled=false") .withConfiguration(AutoConfigurations.of(MetricsAutoConfiguration.class)) .run((context) -> { CompositeMeterRegistry meterRegistry = context diff --git a/spring-boot-project/spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc b/spring-boot-project/spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc index 80b88b78cc4..3effa7411fd 100644 --- a/spring-boot-project/spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc +++ b/spring-boot-project/spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc @@ -1246,89 +1246,88 @@ content into your application. Rather, pick only the properties that you need. management.jolokia.enabled=false # Whether to enable Jolokia. management.jolokia.path=/jolokia # Path at which Jolokia is available. + # METRICS + management.metrics.binders.jvmmemory.enabled=true # Whether to enable JVM memory metrics. + management.metrics.binders.logback.enabled=true # Whether to enable Logback metrics. + management.metrics.binders.processor.enabled=true # Whether to enable processor metrics. + management.metrics.binders.uptime.enabled=true # Whether to enable uptime metrics. + management.metrics.export.atlas.batch-size= # Number of measurements per request to use for the backend. If more measurements are found, then multiple requests will be made. + management.metrics.export.atlas.config-refresh-frequency= # Frequency for refreshing config settings from the LWC service. + management.metrics.export.atlas.config-time-to-live= # Time to live for subscriptions from the LWC service. + management.metrics.export.atlas.config-uri= # URI for the Atlas LWC endpoint to retrieve current subscriptions. + management.metrics.export.atlas.connect-timeout= # Connection timeout for requests to the backend. + management.metrics.export.atlas.enabled= # Whether exporting of metrics to this backend is enabled. + management.metrics.export.atlas.eval-uri= # URI for the Atlas LWC endpoint to evaluate the data for a subscription. + management.metrics.export.atlas.lwc-enabled= # Enable streaming to Atlas LWC. + management.metrics.export.atlas.meter-time-to-live= # Time to live for meters that do not have any activity. After this period the meter will be considered expired and will not get reported. + management.metrics.export.atlas.num-threads= # Number of threads to use with the metrics publishing scheduler. + management.metrics.export.atlas.read-timeout= # Read timeout for requests to the backend. + management.metrics.export.atlas.step=1m # Step size (i.e. reporting frequency) to use. + management.metrics.export.atlas.uri= # URI of the Atlas server. + management.metrics.export.datadog.api-key= # Datadog API key. + management.metrics.export.datadog.batch-size= # Number of measurements per request to use for the backend. If more measurements are found, then multiple requests will be made. + management.metrics.export.datadog.connect-timeout= # Connection timeout for requests to the backend. + management.metrics.export.datadog.enabled= # Whether exporting of metrics to this backend is enabled. + management.metrics.export.datadog.host-tag= # Tag that will be mapped to "host" when shipping metrics to Datadog. Can be omitted if host should be omitted on publishing. + management.metrics.export.datadog.num-threads= # Number of threads to use with the metrics publishing scheduler. + management.metrics.export.datadog.read-timeout= # Read timeout for requests to the backend. + management.metrics.export.datadog.step=1m # Step size (i.e. reporting frequency) to use. + management.metrics.export.datadog.uri= # URI to ship metrics to. If you need to publish metrics to an internal proxy en-route to Datadog, you can define the location of the proxy with this. + management.metrics.export.ganglia.addressing-mode= # UDP addressing mode, either unicast or multicast. + management.metrics.export.ganglia.duration-units= # Base time unit used to report durations. + management.metrics.export.ganglia.enabled= # Whether exporting of metrics to Ganglia is enabled. + management.metrics.export.ganglia.host= # Host of the Ganglia server to receive exported metrics. + management.metrics.export.ganglia.port= # Port of the Ganglia server to receive exported metrics. + management.metrics.export.ganglia.protocol-version= # Ganglia protocol version. Must be either 3.1 or 3.0. + management.metrics.export.ganglia.rate-units= # Base time unit used to report rates. + management.metrics.export.ganglia.step= # Step size (i.e. reporting frequency) to use. + management.metrics.export.ganglia.time-to-live= # Time to live for metrics on Ganglia. + management.metrics.export.graphite.duration-units= # Base time unit used to report durations. + management.metrics.export.graphite.enabled= # Whether exporting of metrics to Graphite is enabled. + management.metrics.export.graphite.host= # Host of the Graphite server to receive exported metrics. + management.metrics.export.graphite.port= # Port of the Graphite server to receive exported metrics. + management.metrics.export.graphite.protocol= # Protocol to use while shipping data to Graphite. + management.metrics.export.graphite.rate-units= # Base time unit used to report rates. + management.metrics.export.graphite.step= # Step size (i.e. reporting frequency) to use. + management.metrics.export.influx.batch-size= # Number of measurements per request to use for the backend. If more measurements are found, then multiple requests will be made. + management.metrics.export.influx.compressed= # Enable GZIP compression of metrics batches published to Influx. + management.metrics.export.influx.connect-timeout= # Connection timeout for requests to the backend. + management.metrics.export.influx.consistency= # Write consistency for each point. + management.metrics.export.influx.db= # Tag that will be mapped to "host" when shipping metrics to Influx. Can be omitted if host should be omitted on publishing. + management.metrics.export.influx.enabled= # Whether exporting of metrics to this backend is enabled. + management.metrics.export.influx.num-threads= # Number of threads to use with the metrics publishing scheduler. + management.metrics.export.influx.password= # Login password of the Influx server. + management.metrics.export.influx.read-timeout= # Read timeout for requests to the backend. + management.metrics.export.influx.retention-policy= # Retention policy to use (Influx writes to the DEFAULT retention policy if one is not specified). + management.metrics.export.influx.step=1m # Step size (i.e. reporting frequency) to use. + management.metrics.export.influx.uri= # URI of the Influx server. + management.metrics.export.influx.user-name= # Login user of the Influx server. + management.metrics.export.prometheus.descriptions= # Enable publishing descriptions as part of the scrape payload to Prometheus. Turn this off to minimize the amount of data sent on each scrape. + management.metrics.export.prometheus.enabled= # Whether exporting of metrics to Prometheus is enabled. + management.metrics.export.prometheus.step= # Step size (i.e. reporting frequency) to use. + management.metrics.export.simple.enabled=false # Whether exporting of metrics to a simple in-memory store is enabled. + management.metrics.export.simple.mode=cumulative # Counting mode. + management.metrics.export.simple.step=10s # Step size (i.e. reporting frequency) to use. + management.metrics.export.statsd.enabled= # Export metrics to StatsD. + management.metrics.export.statsd.flavor=datadog # StatsD line protocol to use. + management.metrics.export.statsd.host=localhost # Host of the StatsD server to receive exported metrics. + management.metrics.export.statsd.max-packet-length=1400 # Total length of a single payload should be kept within your network's MTU. + management.metrics.export.statsd.polling-frequency=10s # 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. + management.metrics.export.statsd.port=8125 # Port of the StatsD server to receive exported metrics. + management.metrics.export.statsd.queue-size=2147483647 # Maximum size of the queue of items waiting to be sent to the StatsD server. + management.metrics.jdbc.datasource-metric-name=data.source # Name of the metric for data source usage. + management.metrics.jdbc.instrument-datasource=true # Instrument all available data sources. + management.metrics.use-global-registry=true # Whether auto-configured MeterRegistry implementations should be bound to the global static registry on Metrics. + management.metrics.web.client.record-request-percentiles=false # Whether instrumented requests record percentiles histogram buckets by default. + management.metrics.web.client.requests-metric-name=http.client.requests # Name of the metric for sent requests. + management.metrics.web.server.auto-time-requests=true # Whether requests handled by Spring MVC or WebFlux should be automatically timed. + management.metrics.web.server.record-request-percentiles=false # Whether instrumented requests record percentiles histogram buckets by default. + management.metrics.web.server.requests-metric-name=http.server.requests # Name of the metric for received requests. + # TRACING ({sc-spring-boot-actuator-autoconfigure}/trace/TraceEndpointProperties.{sc-ext}[TraceEndpointProperties]) management.trace.filter.enabled=true # Whether to enable the trace servlet filter. management.trace.include=request-headers,response-headers,cookies,errors # Items to be included in the trace. - # METRICS - spring.metrics.binders.jvmmemory.enabled=true # Whether to enable JVM memory metrics. - spring.metrics.binders.logback.enabled=true # Whether to enable Logback metrics. - spring.metrics.binders.processor.enabled=true # Whether to enable processor metrics. - spring.metrics.binders.uptime.enabled=true # Whether to enable uptime metrics. - spring.metrics.export.atlas.batch-size= # Number of measurements per request to use for the backend. If more measurements are found, then multiple requests will be made. - spring.metrics.export.atlas.config-refresh-frequency= # Frequency for refreshing config settings from the LWC service. - spring.metrics.export.atlas.config-time-to-live= # Time to live for subscriptions from the LWC service. - spring.metrics.export.atlas.config-uri= # URI for the Atlas LWC endpoint to retrieve current subscriptions. - spring.metrics.export.atlas.connect-timeout= # Connection timeout for requests to the backend. - spring.metrics.export.atlas.enabled= # Whether exporting of metrics to this backend is enabled. - spring.metrics.export.atlas.eval-uri= # URI for the Atlas LWC endpoint to evaluate the data for a subscription. - spring.metrics.export.atlas.lwc-enabled= # Enable streaming to Atlas LWC. - spring.metrics.export.atlas.meter-time-to-live= # Time to live for meters that do not have any activity. After this period the meter will be considered expired and will not get reported. - spring.metrics.export.atlas.num-threads= # Number of threads to use with the metrics publishing scheduler. - spring.metrics.export.atlas.read-timeout= # Read timeout for requests to the backend. - spring.metrics.export.atlas.step=1m # Step size (i.e. reporting frequency) to use. - spring.metrics.export.atlas.uri= # URI of the Atlas server. - spring.metrics.export.datadog.api-key= # Datadog API key. - spring.metrics.export.datadog.batch-size= # Number of measurements per request to use for the backend. If more measurements are found, then multiple requests will be made. - spring.metrics.export.datadog.connect-timeout= # Connection timeout for requests to the backend. - spring.metrics.export.datadog.enabled= # Whether exporting of metrics to this backend is enabled. - spring.metrics.export.datadog.host-tag= # Tag that will be mapped to "host" when shipping metrics to Datadog. Can be omitted if host should be omitted on publishing. - spring.metrics.export.datadog.num-threads= # Number of threads to use with the metrics publishing scheduler. - spring.metrics.export.datadog.read-timeout= # Read timeout for requests to the backend. - spring.metrics.export.datadog.step=1m # Step size (i.e. reporting frequency) to use. - spring.metrics.export.datadog.uri= # URI to ship metrics to. If you need to publish metrics to an internal proxy en-route to Datadog, you can define the location of the proxy with this. - spring.metrics.export.ganglia.addressing-mode= # UDP addressing mode, either unicast or multicast. - spring.metrics.export.ganglia.duration-units= # Base time unit used to report durations. - spring.metrics.export.ganglia.enabled= # Whether exporting of metrics to Ganglia is enabled. - spring.metrics.export.ganglia.host= # Host of the Ganglia server to receive exported metrics. - spring.metrics.export.ganglia.port= # Port of the Ganglia server to receive exported metrics. - spring.metrics.export.ganglia.protocol-version= # Ganglia protocol version. Must be either 3.1 or 3.0. - spring.metrics.export.ganglia.rate-units= # Base time unit used to report rates. - spring.metrics.export.ganglia.step= # Step size (i.e. reporting frequency) to use. - spring.metrics.export.ganglia.time-to-live= # Time to live for metrics on Ganglia. - spring.metrics.export.graphite.duration-units= # Base time unit used to report durations. - spring.metrics.export.graphite.enabled= # Whether exporting of metrics to Graphite is enabled. - spring.metrics.export.graphite.host= # Host of the Graphite server to receive exported metrics. - spring.metrics.export.graphite.port= # Port of the Graphite server to receive exported metrics. - spring.metrics.export.graphite.protocol= # Protocol to use while shipping data to Graphite. - spring.metrics.export.graphite.rate-units= # Base time unit used to report rates. - spring.metrics.export.graphite.step= # Step size (i.e. reporting frequency) to use. - spring.metrics.export.influx.batch-size= # Number of measurements per request to use for the backend. If more measurements are found, then multiple requests will be made. - spring.metrics.export.influx.compressed= # Enable GZIP compression of metrics batches published to Influx. - spring.metrics.export.influx.connect-timeout= # Connection timeout for requests to the backend. - spring.metrics.export.influx.consistency= # Write consistency for each point. - spring.metrics.export.influx.db= # Tag that will be mapped to "host" when shipping metrics to Influx. Can be omitted if host should be omitted on publishing. - spring.metrics.export.influx.enabled= # Whether exporting of metrics to this backend is enabled. - spring.metrics.export.influx.num-threads= # Number of threads to use with the metrics publishing scheduler. - spring.metrics.export.influx.password= # Login password of the Influx server. - spring.metrics.export.influx.read-timeout= # Read timeout for requests to the backend. - spring.metrics.export.influx.retention-policy= # Retention policy to use (Influx writes to the DEFAULT retention policy if one is not specified). - spring.metrics.export.influx.step=1m # Step size (i.e. reporting frequency) to use. - spring.metrics.export.influx.uri= # URI of the Influx server. - spring.metrics.export.influx.user-name= # Login user of the Influx server. - spring.metrics.export.prometheus.descriptions= # Enable publishing descriptions as part of the scrape payload to Prometheus. Turn this off to minimize the amount of data sent on each scrape. - spring.metrics.export.prometheus.enabled= # Whether exporting of metrics to Prometheus is enabled. - spring.metrics.export.prometheus.step= # Step size (i.e. reporting frequency) to use. - spring.metrics.export.simple.enabled=false # Whether exporting of metrics to a simple in-memory store is enabled. - spring.metrics.export.simple.mode=cumulative # Counting mode. - spring.metrics.export.simple.step=10s # Step size (i.e. reporting frequency) to use. - spring.metrics.export.statsd.enabled= # Export metrics to StatsD. - spring.metrics.export.statsd.flavor=datadog # StatsD line protocol to use. - spring.metrics.export.statsd.host=localhost # Host of the StatsD server to receive exported metrics. - spring.metrics.export.statsd.max-packet-length=1400 # Total length of a single payload should be kept within your network's MTU. - spring.metrics.export.statsd.polling-frequency=10s # 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. - spring.metrics.export.statsd.port=8125 # Port of the StatsD server to receive exported metrics. - spring.metrics.export.statsd.queue-size=2147483647 # Maximum size of the queue of items waiting to be sent to the StatsD server. - spring.metrics.jdbc.datasource-metric-name=data.source # Name of the metric for data source usage. - spring.metrics.jdbc.instrument-datasource=true # Instrument all available data sources. - spring.metrics.use-global-registry=true # Whether auto-configured MeterRegistry implementations should be bound to the global static registry on Metrics. - spring.metrics.web.client.record-request-percentiles=false # Whether instrumented requests record percentiles histogram buckets by default. - spring.metrics.web.client.requests-metric-name=http.client.requests # Name of the metric for sent requests. - spring.metrics.web.server.auto-time-requests=true # Whether requests handled by Spring MVC or WebFlux should be automatically timed. - spring.metrics.web.server.record-request-percentiles=false # Whether instrumented requests record percentiles histogram buckets by default. - spring.metrics.web.server.requests-metric-name=http.server.requests # Name of the metric for received requests. - - # ---------------------------------------- # DEVTOOLS PROPERTIES diff --git a/spring-boot-project/spring-boot-docs/src/main/asciidoc/production-ready-features.adoc b/spring-boot-project/spring-boot-docs/src/main/asciidoc/production-ready-features.adoc index 328b87dfb3f..7e630b2db67 100644 --- a/spring-boot-project/spring-boot-docs/src/main/asciidoc/production-ready-features.adoc +++ b/spring-boot-project/spring-boot-docs/src/main/asciidoc/production-ready-features.adoc @@ -934,12 +934,12 @@ its https://micrometer.io/docs[reference documentation]. [[production-ready-metrics-spring-mvc]] === Spring MVC Metrics Auto-configuration enables the instrumentation of requests handled by Spring MVC. When -`spring.metrics.web.server.auto-time-requests` is `true`, this instrumentation occurs for -all requests. Alternatively, when set to `false`, you can enable instrumentation by +`management.metrics.web.server.auto-time-requests` is `true`, this instrumentation occurs +for all requests. Alternatively, when set to `false`, you can enable instrumentation by adding `@Timed` to a request-handling method. By default, metrics are generated with the name, `http.server.requests`. The name can be -customized by setting the `spring.metrics.web.server.requests-metrics-name` property. +customized by setting the `management.metrics.web.server.requests-metrics-name` property. @@ -962,7 +962,7 @@ controllers. You can also use a helper class, `RouterFunctionMetrics`, to instru applications that use WebFlux's functional programming model. By default, metrics are generated with the name `http.server.requests`. You can customize -the name by setting the `spring.metrics.web.server.requests-metrics-name` property. +the name by setting the `management.metrics.web.server.requests-metrics-name` property. @@ -997,7 +997,7 @@ instrumentation of its requests. `MetricsRestTemplateCustomizer` can be used to your own `RestTemplate` instances. By default, metrics are generated with the name, `http.client.requests`. The name can be -customized by setting the `spring.metrics.web.client.requests-metrics-name` property. +customized by setting the `management.metrics.web.client.requests-metrics-name` property. @@ -1019,7 +1019,7 @@ Auto-configuration will enable the instrumentation of all available ``DataSource metric named `data.source`. Data source instrumentation results in gauges representing the currently active, maximum allowed, and minimum allowed connections in the pool. Each of these gauges has a name which is prefixed by `data.source` by default. The prefix can -be customized by using the `spring.metrics.jdbc.datasource-metric-name` property. +be customized by using the `management.metrics.jdbc.datasource-metric-name` property. Metrics will also be tagged by the name of the `DataSource` computed based on the bean name.