diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/DiskSpaceHealthIndicator.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/DiskSpaceHealthIndicator.java index 293c44b617..e8c0f5ab4a 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/DiskSpaceHealthIndicator.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/DiskSpaceHealthIndicator.java @@ -16,6 +16,8 @@ package org.springframework.boot.actuate.health; +import java.io.File; + import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -45,7 +47,8 @@ public class DiskSpaceHealthIndicator extends AbstractHealthIndicator { @Override protected void doHealthCheck(Health.Builder builder) throws Exception { - long diskFreeInBytes = this.properties.getPath().getFreeSpace(); + File path = this.properties.getPath(); + long diskFreeInBytes = path.getFreeSpace(); if (diskFreeInBytes >= this.properties.getThreshold()) { builder.up(); } @@ -55,7 +58,8 @@ public class DiskSpaceHealthIndicator extends AbstractHealthIndicator { this.properties.getThreshold())); builder.down(); } - builder.withDetail("free", diskFreeInBytes).withDetail("threshold", - this.properties.getThreshold()); + builder.withDetail("total", path.getTotalSpace()) + .withDetail("free", diskFreeInBytes) + .withDetail("threshold", this.properties.getThreshold()); } } diff --git a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/DiskSpaceHealthIndicatorTests.java b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/DiskSpaceHealthIndicatorTests.java index 1846bc7f59..f651307efc 100644 --- a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/DiskSpaceHealthIndicatorTests.java +++ b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/DiskSpaceHealthIndicatorTests.java @@ -58,19 +58,23 @@ public class DiskSpaceHealthIndicatorTests { @Test public void diskSpaceIsUp() throws Exception { given(this.fileMock.getFreeSpace()).willReturn(THRESHOLD_BYTES + 10); + given(this.fileMock.getTotalSpace()).willReturn(THRESHOLD_BYTES * 10); Health health = this.healthIndicator.health(); assertEquals(Status.UP, health.getStatus()); assertEquals(THRESHOLD_BYTES, health.getDetails().get("threshold")); assertEquals(THRESHOLD_BYTES + 10, health.getDetails().get("free")); + assertEquals(THRESHOLD_BYTES * 10, health.getDetails().get("total")); } @Test public void diskSpaceIsDown() throws Exception { given(this.fileMock.getFreeSpace()).willReturn(THRESHOLD_BYTES - 10); + given(this.fileMock.getTotalSpace()).willReturn(THRESHOLD_BYTES * 10); Health health = this.healthIndicator.health(); assertEquals(Status.DOWN, health.getStatus()); assertEquals(THRESHOLD_BYTES, health.getDetails().get("threshold")); assertEquals(THRESHOLD_BYTES - 10, health.getDetails().get("free")); + assertEquals(THRESHOLD_BYTES * 10, health.getDetails().get("total")); } private DiskSpaceHealthIndicatorProperties createProperties(File path, long threshold) {