aboutsummaryrefslogtreecommitdiffstats
path: root/container-disc/src
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@yahoo-inc.com>2017-05-29 15:41:57 +0200
committerBjørn Christian Seime <bjorncs@yahoo-inc.com>2017-05-31 14:06:54 +0200
commit8510958769ec1b569b49e3fcc65e3a45270fcfd9 (patch)
treeb9fab2bf695e7e2a78f4fe98824458ef931b1e99 /container-disc/src
parente49c9b55f074577ba6efe985a3940da98511201c (diff)
Track stale ActiveContainer instances
Diffstat (limited to 'container-disc/src')
-rw-r--r--container-disc/src/main/java/com/yahoo/container/jdisc/metric/MetricUpdater.java10
-rw-r--r--container-disc/src/test/java/com/yahoo/container/jdisc/metric/MetricUpdaterTest.java10
2 files changed, 12 insertions, 8 deletions
diff --git a/container-disc/src/main/java/com/yahoo/container/jdisc/metric/MetricUpdater.java b/container-disc/src/main/java/com/yahoo/container/jdisc/metric/MetricUpdater.java
index 74e2c243c89..4d71ae913d7 100644
--- a/container-disc/src/main/java/com/yahoo/container/jdisc/metric/MetricUpdater.java
+++ b/container-disc/src/main/java/com/yahoo/container/jdisc/metric/MetricUpdater.java
@@ -4,6 +4,7 @@ package com.yahoo.container.jdisc.metric;
import com.google.inject.Inject;
import com.yahoo.component.AbstractComponent;
import com.yahoo.jdisc.Metric;
+import com.yahoo.jdisc.statistics.ActiveContainerStatistics;
import java.nio.file.DirectoryStream;
import java.nio.file.Files;
@@ -31,17 +32,19 @@ public class MetricUpdater extends AbstractComponent {
private static final String OPEN_FILE_DESCRIPTORS = "jdisc.open_file_descriptors";
private final Metric metric;
+ private final ActiveContainerStatistics activeContainerStatistics;
private final Timer timer = new Timer();
long freeMemory = -1;
long totalMemory = -1;
@Inject
- public MetricUpdater(Metric metric) {
- this(metric, 10*1000);
+ public MetricUpdater(Metric metric, ActiveContainerStatistics activeContainerStatistics) {
+ this(metric, activeContainerStatistics, 10*1000);
}
- public MetricUpdater(Metric metric, long delayMillis) {
+ public MetricUpdater(Metric metric, ActiveContainerStatistics activeContainerStatistics, long delayMillis) {
this.metric = metric;
+ this.activeContainerStatistics = activeContainerStatistics;
timer.schedule(new UpdaterTask(), delayMillis, delayMillis);
}
@@ -69,6 +72,7 @@ public class MetricUpdater extends AbstractComponent {
metric.set(TOTAL_MEMORY_BYTES, totalMemory, null);
metric.set(MEMORY_MAPPINGS_COUNT, count_mappings(), null);
metric.set(OPEN_FILE_DESCRIPTORS, count_open_files(), null);
+ activeContainerStatistics.emitMetrics(metric);
}
// Note: Linux-specific
diff --git a/container-disc/src/test/java/com/yahoo/container/jdisc/metric/MetricUpdaterTest.java b/container-disc/src/test/java/com/yahoo/container/jdisc/metric/MetricUpdaterTest.java
index 1067b572644..1b88b5217bc 100644
--- a/container-disc/src/test/java/com/yahoo/container/jdisc/metric/MetricUpdaterTest.java
+++ b/container-disc/src/test/java/com/yahoo/container/jdisc/metric/MetricUpdaterTest.java
@@ -1,13 +1,13 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.container.jdisc.metric;
-import static org.junit.Assert.assertTrue;
-
+import com.yahoo.jdisc.Metric;
+import com.yahoo.jdisc.application.MetricConsumer;
+import com.yahoo.jdisc.statistics.ActiveContainerStatistics;
import org.junit.Test;
import org.mockito.Mockito;
-import com.yahoo.jdisc.Metric;
-import com.yahoo.jdisc.application.MetricConsumer;
+import static org.junit.Assert.assertTrue;
public class MetricUpdaterTest {
@@ -17,7 +17,7 @@ public class MetricUpdaterTest {
MetricProvider provider = MetricProviders.newInstance(consumer);
Metric metric = provider.get();
- MetricUpdater updater = new MetricUpdater(metric, 10);
+ MetricUpdater updater = new MetricUpdater(metric, Mockito.mock(ActiveContainerStatistics.class), 10);
long start = System.currentTimeMillis();
boolean updated = false;
while (System.currentTimeMillis() - start < 60000 && !updated) {