package rocks.inspectit.agent.java.sensor.platform.provider.def; import java.lang.management.ManagementFactory; import java.lang.management.ThreadMXBean; import rocks.inspectit.agent.java.sensor.platform.provider.ThreadInfoProvider; /** * Uses the {@link java.lang.management.ThreadMXBean} in order to retrieve all needed information. * * @author Eduard Tudenhoefner * */ public class DefaultThreadInfoProvider implements ThreadInfoProvider { /** * The MXBean used to retrieve information from the thread system. */ private ThreadMXBean threadBean = ManagementFactory.getThreadMXBean(); /** * {@inheritDoc} */ @Override public int getThreadCount() { return threadBean.getThreadCount(); } /** * {@inheritDoc} */ @Override public int getPeakThreadCount() { return threadBean.getPeakThreadCount(); } /** * {@inheritDoc} */ @Override public long getTotalStartedThreadCount() { return threadBean.getTotalStartedThreadCount(); } /** * {@inheritDoc} */ @Override public int getDaemonThreadCount() { return threadBean.getDaemonThreadCount(); } }