in iep-admin/src/main/java/com/netflix/iep/admin/endpoints/ThreadsEndpoint.java [71:95]
public ThreadInfo(Thread t, StackTraceElement[] stack) {
// Thread group will be null if the thread has stopped before this line executes
ThreadGroup tg = t.getThreadGroup();
group = (tg != null) ? tg.getName() : "null";
name = t.getName();
state = t.getState().name();
priority = t.getPriority();
id = t.getId();
stackTrace = new ArrayList<>();
for (StackTraceElement e : stack) {
if (e.getLineNumber() < 0) {
String s = String.format("%s.%s(Native Method)",
e.getClassName(),
e.getMethodName());
stackTrace.add(s);
} else {
String s = String.format("%s.%s(%s:%d)",
e.getClassName(),
e.getMethodName(),
e.getFileName(),
e.getLineNumber());
stackTrace.add(s);
}
}
}