All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.yammer.metrics.jetty.InstrumentedQueuedThreadPool Maven / Gradle / Ivy

package com.yammer.metrics.jetty;

import com.yammer.metrics.util.RatioGauge;
import org.eclipse.jetty.util.thread.QueuedThreadPool;

import com.yammer.metrics.Metrics;
import com.yammer.metrics.core.Gauge;
import com.yammer.metrics.core.MetricsRegistry;

public class InstrumentedQueuedThreadPool extends QueuedThreadPool {
    public InstrumentedQueuedThreadPool() {
        this(Metrics.defaultRegistry());
    }

    public InstrumentedQueuedThreadPool(MetricsRegistry registry) {
        super();
        registry.newGauge(QueuedThreadPool.class, "percent-idle", new RatioGauge() {
            @Override
            protected double getNumerator() {
                return getIdleThreads();
            }

            @Override
            protected double getDenominator() {
                return getThreads();
            }
        });
        registry.newGauge(QueuedThreadPool.class, "active-threads", new Gauge() {
            @Override
            public Integer value() {
                return getThreads();
            }
        });
        registry.newGauge(QueuedThreadPool.class, "idle-threads", new Gauge() {
            @Override
            public Integer value() {
                return getIdleThreads();
            }
        });
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy