diff options
author | Jon Bratseth <bratseth@gmail.com> | 2022-07-31 17:17:26 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-31 17:17:26 +0200 |
commit | e56abfa611b2b30db98df393bd6ce62207e8fc25 (patch) | |
tree | 712c16589958f10a35d792ac826d1b8e10f879d3 /container-disc | |
parent | 372f6d7371d42ef23b543d4349cfeabf25ac400b (diff) | |
parent | 93da61f4951b908409fb0dc76facf2c26ca9958a (diff) |
Merge pull request #23540 from vespa-engine/bjorncs/stale-threads-watchdog
Bjorncs/stale threads watchdog
Diffstat (limited to 'container-disc')
-rw-r--r-- | container-disc/src/main/java/com/yahoo/container/jdisc/metric/MetricUpdater.java | 4 | ||||
-rw-r--r-- | container-disc/src/test/java/com/yahoo/container/jdisc/metric/MetricUpdaterTest.java | 2 |
2 files changed, 5 insertions, 1 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 4b75bc233d6..3f7990288f5 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 @@ -9,6 +9,7 @@ import com.yahoo.nativec.NativeHeap; import java.lang.management.BufferPoolMXBean; import java.lang.management.ManagementFactory; +import java.lang.management.ThreadMXBean; import java.nio.file.DirectoryStream; import java.nio.file.Files; import java.nio.file.Path; @@ -39,6 +40,7 @@ public class MetricUpdater extends AbstractComponent { private static final String DIRECT_COUNT = "mem.direct.count"; private static final String MEMORY_MAPPINGS_COUNT = "jdisc.memory_mappings"; private static final String OPEN_FILE_DESCRIPTORS = "jdisc.open_file_descriptors"; + private static final String TOTAL_THREADS = "jdisc.threads.total"; private final Scheduler scheduler; @@ -99,6 +101,7 @@ public class MetricUpdater extends AbstractComponent { private final ContainerWatchdogMetrics containerWatchdogMetrics; private final GarbageCollectionMetrics garbageCollectionMetrics; private final JrtMetrics jrtMetrics; + private final ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean(); public UpdaterTask(Metric metric, ContainerWatchdogMetrics containerWatchdogMetrics) { this.metric = metric; @@ -148,6 +151,7 @@ public class MetricUpdater extends AbstractComponent { metric.set(HEAP_TOTAL_MEMORY_BYTES, totalMemory, null); metric.set(MEMORY_MAPPINGS_COUNT, count_mappings(), null); metric.set(OPEN_FILE_DESCRIPTORS, count_open_files(), null); + metric.set(TOTAL_THREADS, threadMXBean.getThreadCount(), null); directMemoryUsed(); nativeHeapUsed(); 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 4f9e8dd2462..bc196b08ab9 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 @@ -27,7 +27,7 @@ public class MetricUpdaterTest { ContainerWatchdogMetrics containerWatchdogMetrics = mock(ContainerWatchdogMetrics.class); new MetricUpdater(new MockScheduler(), metric, containerWatchdogMetrics); verify(containerWatchdogMetrics, times(1)).emitMetrics(any()); - verify(metric, times(13 + 2 * gcCount)).set(anyString(), any(), any()); + verify(metric, times(14 + 2 * gcCount)).set(anyString(), any(), any()); } private static class MockScheduler implements MetricUpdater.Scheduler { |