in server/src/main/scala/com/twitter/server/handler/ThreadsHandler.scala [88:106]
private def markedIdle(in: Seq[ThreadInfo]): Seq[ThreadInfo] = {
// pretty obvious they are idle
def idleState(state: Thread.State): Boolean =
state == Thread.State.TIMED_WAITING || state == Thread.State.WAITING
// Threads that say they are runnable, but are actually doing nothing.
def idleRunnable(info: ThreadInfo): Boolean =
info.stack.headOption.exists { elem =>
IdleClassAndMethod.contains((elem.getClassName, elem.getMethodName))
}
in.map { info =>
if (idleState(info.thread.getState) || idleRunnable(info)) {
info.copy(isIdle = true)
} else {
info
}
}
}