public String getGeneralStats() { final StringBuilder sb = new StringBuilder(1000); ThreadFactory tf = _generalThreadPool.getThreadFactory(); if (tf instanceof PriorityThreadFactory) { PriorityThreadFactory ptf = (PriorityThreadFactory) tf; int count = ptf.getGroup().activeCount(); Thread[] threads = new Thread[count + 2]; ptf.getGroup().enumerate(threads); StringUtil.append( sb, "General Thread Pool:\r\n" + "Tasks in the queue: ", String.valueOf(_generalThreadPool.getQueue().size()), "\r\n" + "Showing threads stack trace:\r\n" + "There should be ", String.valueOf(count), " Threads\r\n"); for (Thread t : threads) { if (t == null) continue; StringUtil.append(sb, t.getName(), "\r\n"); for (StackTraceElement ste : t.getStackTrace()) { StringUtil.append(sb, ste.toString(), "\r\n"); } } } sb.append("Packet Tp stack traces printed.\r\n"); return sb.toString(); }
public String getGeneralStats() { TextBuilder tb = new TextBuilder(); ThreadFactory tf = _generalThreadPool.getThreadFactory(); if (tf instanceof PriorityThreadFactory) { tb.append("General Thread Pool:\r\n"); tb.append("Tasks in the queue: " + _generalThreadPool.getQueue().size() + "\r\n"); tb.append("Showing threads stack trace:\r\n"); PriorityThreadFactory ptf = (PriorityThreadFactory) tf; int count = ptf.getGroup().activeCount(); Thread[] threads = new Thread[count + 2]; ptf.getGroup().enumerate(threads); tb.append("There should be " + count + " Threads\r\n"); for (Thread t : threads) { if (t == null) { continue; } tb.append(t.getName() + "\r\n"); for (StackTraceElement ste : t.getStackTrace()) { tb.append(ste.toString()); tb.append("\r\n"); } } } tb.append("Packet Tp stack traces printed.\r\n"); return tb.toString(); }