コード例 #1
1
  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();
  }
コード例 #2
1
ファイル: ThreadPoolManager.java プロジェクト: kenit/l1j-wk
 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();
 }