Skip to content

Commit b65cc4d

Browse files
committed
Relocate DiskSpace metrics to SystemMetricsAutoConfiguration
Closes gh-27688
1 parent 0d67a1a commit b65cc4d

File tree

5 files changed

+39
-34
lines changed

5 files changed

+39
-34
lines changed

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/JvmMetricsAutoConfiguration.java

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,8 @@
1616

1717
package org.springframework.boot.actuate.autoconfigure.metrics;
1818

19-
import java.io.File;
20-
2119
import io.micrometer.core.instrument.MeterRegistry;
2220
import io.micrometer.core.instrument.binder.jvm.ClassLoaderMetrics;
23-
import io.micrometer.core.instrument.binder.jvm.DiskSpaceMetrics;
2421
import io.micrometer.core.instrument.binder.jvm.JvmGcMetrics;
2522
import io.micrometer.core.instrument.binder.jvm.JvmMemoryMetrics;
2623
import io.micrometer.core.instrument.binder.jvm.JvmThreadMetrics;
@@ -69,10 +66,4 @@ public ClassLoaderMetrics classLoaderMetrics() {
6966
return new ClassLoaderMetrics();
7067
}
7168

72-
@Bean
73-
@ConditionalOnMissingBean
74-
public DiskSpaceMetrics diskSpaceMetrics() {
75-
return new DiskSpaceMetrics(new File("."));
76-
}
77-
7869
}

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/SystemMetricsAutoConfiguration.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,10 @@
1616

1717
package org.springframework.boot.actuate.autoconfigure.metrics;
1818

19+
import java.io.File;
20+
1921
import io.micrometer.core.instrument.MeterRegistry;
22+
import io.micrometer.core.instrument.binder.jvm.DiskSpaceMetrics;
2023
import io.micrometer.core.instrument.binder.system.FileDescriptorMetrics;
2124
import io.micrometer.core.instrument.binder.system.ProcessorMetrics;
2225
import io.micrometer.core.instrument.binder.system.UptimeMetrics;
@@ -59,4 +62,10 @@ public FileDescriptorMetrics fileDescriptorMetrics() {
5962
return new FileDescriptorMetrics();
6063
}
6164

65+
@Bean
66+
@ConditionalOnMissingBean
67+
public DiskSpaceMetrics diskSpaceMetrics() {
68+
return new DiskSpaceMetrics(new File("."));
69+
}
70+
6271
}

spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/JvmMetricsAutoConfigurationTests.java

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,7 @@
1616

1717
package org.springframework.boot.actuate.autoconfigure.metrics;
1818

19-
import java.io.File;
20-
2119
import io.micrometer.core.instrument.binder.jvm.ClassLoaderMetrics;
22-
import io.micrometer.core.instrument.binder.jvm.DiskSpaceMetrics;
2320
import io.micrometer.core.instrument.binder.jvm.JvmGcMetrics;
2421
import io.micrometer.core.instrument.binder.jvm.JvmMemoryMetrics;
2522
import io.micrometer.core.instrument.binder.jvm.JvmThreadMetrics;
@@ -40,7 +37,6 @@
4037
*
4138
* @author Andy Wilkinson
4239
* @author Stephane Nicoll
43-
* @author Chris Bono
4440
*/
4541
class JvmMetricsAutoConfigurationTests {
4642

@@ -76,16 +72,9 @@ void allowsCustomClassLoaderMetricsToBeUsed() {
7672
assertMetricsBeans().andThen((context) -> assertThat(context).hasBean("customClassLoaderMetrics")));
7773
}
7874

79-
@Test
80-
void allowsCustomDiskSpaceMetricsToBeUsed() {
81-
this.contextRunner.withUserConfiguration(CustomDiskSpaceMetricsConfiguration.class)
82-
.run(assertMetricsBeans().andThen((context) -> assertThat(context).hasBean("customDiskSpaceMetrics")));
83-
}
84-
8575
private ContextConsumer<AssertableApplicationContext> assertMetricsBeans() {
8676
return (context) -> assertThat(context).hasSingleBean(JvmGcMetrics.class).hasSingleBean(JvmMemoryMetrics.class)
87-
.hasSingleBean(JvmThreadMetrics.class).hasSingleBean(ClassLoaderMetrics.class)
88-
.hasSingleBean(DiskSpaceMetrics.class);
77+
.hasSingleBean(JvmThreadMetrics.class).hasSingleBean(ClassLoaderMetrics.class);
8978
}
9079

9180
@Configuration(proxyBeanMethods = false)
@@ -128,14 +117,4 @@ ClassLoaderMetrics customClassLoaderMetrics() {
128117

129118
}
130119

131-
@Configuration(proxyBeanMethods = false)
132-
static class CustomDiskSpaceMetricsConfiguration {
133-
134-
@Bean
135-
DiskSpaceMetrics customDiskSpaceMetrics() {
136-
return new DiskSpaceMetrics(new File(System.getProperty("user.dir")));
137-
}
138-
139-
}
140-
141120
}

spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/SystemMetricsAutoConfigurationTests.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616

1717
package org.springframework.boot.actuate.autoconfigure.metrics;
1818

19+
import java.io.File;
20+
21+
import io.micrometer.core.instrument.binder.jvm.DiskSpaceMetrics;
1922
import io.micrometer.core.instrument.binder.system.FileDescriptorMetrics;
2023
import io.micrometer.core.instrument.binder.system.ProcessorMetrics;
2124
import io.micrometer.core.instrument.binder.system.UptimeMetrics;
@@ -34,6 +37,7 @@
3437
*
3538
* @author Andy Wilkinson
3639
* @author Stephane Nicoll
40+
* @author Chris Bono
3741
*/
3842
class SystemMetricsAutoConfigurationTests {
3943

@@ -75,6 +79,18 @@ void allowsCustomFileDescriptorMetricsToBeUsed() {
7579
.hasBean("customFileDescriptorMetrics"));
7680
}
7781

82+
@Test
83+
void autoConfiguresDiskSpaceMetrics() {
84+
this.contextRunner.run((context) -> assertThat(context).hasSingleBean(DiskSpaceMetrics.class));
85+
}
86+
87+
@Test
88+
void allowsCustomDiskSpaceMetricsToBeUsed() {
89+
this.contextRunner.withUserConfiguration(CustomDiskSpaceMetricsConfiguration.class)
90+
.run((context) -> assertThat(context).hasSingleBean(DiskSpaceMetrics.class)
91+
.hasBean("customDiskSpaceMetrics"));
92+
}
93+
7894
@Configuration(proxyBeanMethods = false)
7995
static class CustomUptimeMetricsConfiguration {
8096

@@ -105,4 +121,14 @@ FileDescriptorMetrics customFileDescriptorMetrics() {
105121

106122
}
107123

124+
@Configuration(proxyBeanMethods = false)
125+
static class CustomDiskSpaceMetricsConfiguration {
126+
127+
@Bean
128+
DiskSpaceMetrics customDiskSpaceMetrics() {
129+
return new DiskSpaceMetrics(new File(System.getProperty("user.dir")));
130+
}
131+
132+
}
133+
108134
}

spring-boot-project/spring-boot-docs/src/docs/asciidoc/actuator/metrics.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -624,28 +624,28 @@ In most situations, the out-of-the-box defaults will provide sensible metrics th
624624
[[actuator.metrics.supported.jvm]]
625625
==== JVM Metrics
626626
Auto-configuration will enable JVM Metrics using core Micrometer classes.
627-
JVM metrics are published under the `jvm.` and `disk.` meter names.
627+
JVM metrics are published under the `jvm.` meter name.
628628

629629
The following JVM metrics are provided:
630630

631631
* Various memory and buffer pool details
632632
* Statistics related to garbage collection
633633
* Threads utilization
634634
* The Number of classes loaded/unloaded
635-
* Disk space available
636635

637636

638637

639638
[[actuator.metrics.supported.system]]
640639
==== System Metrics
641640
Auto-configuration will enable system metrics using core Micrometer classes.
642-
System metrics are published under the `system.` and `process.` meter names.
641+
System metrics are published under the `system.`, `process.`, and `disk.` meter names.
643642

644643
The following system metrics are provided:
645644

646645
* CPU metrics
647646
* File descriptor metrics
648647
* Uptime metrics (both the amount of time the application has been running as well as a fixed gauge of the absolute start time)
648+
* Disk space available
649649

650650

651651

0 commit comments

Comments
 (0)