package voldemort.server; import java.util.concurrent.ThreadPoolExecutor; public class StatusManager { private final ThreadPoolExecutor threadPool; private final long originalStartTime; public StatusManager(ThreadPoolExecutor threadPool) { this.threadPool = threadPool; this.originalStartTime = System.currentTimeMillis(); } public long getWorkerPoolSize() { return threadPool.getPoolSize(); } public long getActiveWorkersCount() { return threadPool.getActiveCount(); } public long getUptime() { return (System.currentTimeMillis() - originalStartTime) / 1000; } public String getFormattedUptime() { long time = getUptime(); long days = time / 86400; long hours = (time / 3600) - (days * 24); long minutes = (time / 60) - (days * 1440) - (hours * 60); long seconds = time % 60; return String.format("%d days, %d hours, %d minutes, %d seconds", days, hours, minutes, seconds); } }