diff options
author | Bjørn Christian Seime <bjorncs@yahoo-inc.com> | 2017-05-29 15:41:57 +0200 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@yahoo-inc.com> | 2017-05-31 14:06:54 +0200 |
commit | 8510958769ec1b569b49e3fcc65e3a45270fcfd9 (patch) | |
tree | b9fab2bf695e7e2a78f4fe98824458ef931b1e99 /container-disc | |
parent | e49c9b55f074577ba6efe985a3940da98511201c (diff) |
Track stale ActiveContainer instances
Diffstat (limited to 'container-disc')
-rw-r--r-- | container-disc/src/main/java/com/yahoo/container/jdisc/metric/MetricUpdater.java | 10 | ||||
-rw-r--r-- | container-disc/src/test/java/com/yahoo/container/jdisc/metric/MetricUpdaterTest.java | 10 |
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) { |