summaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorvalerijf <valerijf@yahoo-inc.com>2017-05-15 14:50:08 +0200
committervalerijf <valerijf@yahoo-inc.com>2017-05-15 14:50:08 +0200
commit2ab517d3c177915c3b02287918982de4716ce73d (patch)
tree8190a7513e8f99d29bfaf446d64986bd003c9dd3 /node-admin
parentc6b3d03e90f493950f40d9820115b3e83e13d908 (diff)
Simplify StorageMaintainer
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainer.java12
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/StorageMaintainerMock.java7
2 files changed, 11 insertions, 8 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainer.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainer.java
index 99a07bcda60..972cf9d56f7 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainer.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainer.java
@@ -64,7 +64,7 @@ public class StorageMaintainer {
numberOfNodeAdminMaintenanceFails = metricReceiver.declareCounter(MetricReceiverWrapper.APPLICATION_DOCKER, dimensions, "nodes.maintenance.fails");
}
- public Map<String, Number> updateIfNeededAndGetDiskMetricsFor(ContainerName containerName) {
+ public Optional<Long> updateIfNeededAndGetDiskMetricsFor(ContainerName containerName) {
// Calculating disk usage is IO expensive operation and its value changes relatively slowly, we want to perform
// that calculation rarely. Additionally, we spread out the calculation for different containers by adding
// a random deviation.
@@ -79,7 +79,7 @@ public class StorageMaintainer {
Path containerDir = environment.pathInNodeAdminFromPathInNode(containerName, "/home/");
try {
long used = getDiscUsedInBytes(containerDir);
- metricsCache.metrics.put("node.disk.used", used);
+ metricsCache.setDiskUsage(used);
} catch (Throwable e) {
logger.error("Problems during disk usage calculations: " + e.getMessage());
}
@@ -88,7 +88,7 @@ public class StorageMaintainer {
metricsCacheByContainerName.put(containerName, metricsCache);
}
- return metricsCacheByContainerName.get(containerName).metrics;
+ return metricsCacheByContainerName.get(containerName).diskUsage;
}
// Public for testing
@@ -305,10 +305,14 @@ public class StorageMaintainer {
private static class MetricsCache {
private final Instant nextUpdateAt;
- private final Map<String, Number> metrics = new HashMap<>();
+ private Optional<Long> diskUsage = Optional.empty();
MetricsCache(Instant nextUpdateAt) {
this.nextUpdateAt = nextUpdateAt;
}
+
+ void setDiskUsage(long diskUsage) {
+ this.diskUsage = Optional.of(diskUsage);
+ }
}
} \ No newline at end of file
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/StorageMaintainerMock.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/StorageMaintainerMock.java
index c67b6a0e7e5..7f862180b44 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/StorageMaintainerMock.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/StorageMaintainerMock.java
@@ -9,8 +9,7 @@ import com.yahoo.vespa.hosted.node.admin.ContainerNodeSpec;
import com.yahoo.vespa.hosted.node.admin.maintenance.StorageMaintainer;
import com.yahoo.vespa.hosted.node.admin.util.Environment;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.Optional;
/**
* @author freva
@@ -24,8 +23,8 @@ public class StorageMaintainerMock extends StorageMaintainer {
}
@Override
- public Map<String, Number> updateIfNeededAndGetDiskMetricsFor(ContainerName containerName) {
- return new HashMap<>();
+ public Optional<Long> updateIfNeededAndGetDiskMetricsFor(ContainerName containerName) {
+ return Optional.empty();
}
@Override