diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2022-04-20 09:19:18 +0200 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2022-04-20 09:19:22 +0200 |
commit | ec190d515b8cfae3b5640315095f3fc558487c11 (patch) | |
tree | 16e426cb9fa35eb8845b71b76bdc9b1612176aed /container-core/src/main/java/com/yahoo/container/handler/threadpool/ExecutorServiceWrapper.java | |
parent | 4aa2d5bdecc22607b66ba5988a9812e2a3028e1f (diff) |
Introduce new metrics for container threadpool
Add the new metrics to improve observability of container threadpools.
These will be included in the updated container tuning docs.
Diffstat (limited to 'container-core/src/main/java/com/yahoo/container/handler/threadpool/ExecutorServiceWrapper.java')
-rw-r--r-- | container-core/src/main/java/com/yahoo/container/handler/threadpool/ExecutorServiceWrapper.java | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/container-core/src/main/java/com/yahoo/container/handler/threadpool/ExecutorServiceWrapper.java b/container-core/src/main/java/com/yahoo/container/handler/threadpool/ExecutorServiceWrapper.java index 99f49f10526..6dd6b2d122e 100644 --- a/container-core/src/main/java/com/yahoo/container/handler/threadpool/ExecutorServiceWrapper.java +++ b/container-core/src/main/java/com/yahoo/container/handler/threadpool/ExecutorServiceWrapper.java @@ -43,9 +43,6 @@ class ExecutorServiceWrapper extends ForwardingExecutorService { this.queueCapacity = threadPoolIsOnlyQ ? wrapped.getMaximumPoolSize() : maxQueueCapacity; - - metric.reportThreadPoolSize(wrapped.getPoolSize()); - metric.reportActiveThreads(wrapped.getActiveCount()); reportMetrics(); metricReporter = new Thread(this::reportMetricsRegularly); metricReporter.setName(name + "-threadpool-metric-reporter"); @@ -55,6 +52,7 @@ class ExecutorServiceWrapper extends ForwardingExecutorService { private void reportMetrics() { int activeThreads = wrapped.getActiveCount(); metric.reportThreadPoolSize(wrapped.getPoolSize()); + metric.reportMaxAllowedThreadPoolSize(wrapped.getMaximumPoolSize()); metric.reportActiveThreads(activeThreads); int queueSize = threadPoolIsOnlyQ ? activeThreads : wrapped.getQueue().size(); metric.reportWorkQueueSize(queueSize); @@ -81,7 +79,6 @@ class ExecutorServiceWrapper extends ForwardingExecutorService { @Override public void shutdown() { - super.shutdown(); synchronized (closed) { closed.set(true); closed.notify(); @@ -89,6 +86,7 @@ class ExecutorServiceWrapper extends ForwardingExecutorService { try { metricReporter.join(); } catch (InterruptedException e) {} + super.shutdown(); } /** |