public class ThreadDump extends java.util.HashMap<ThreadDump.StackTrace,java.util.List<java.lang.String>> implements java.util.Map<ThreadDump.StackTrace,java.util.List<java.lang.String>>
Modifier and Type | Class and Description |
---|---|
static class |
ThreadDump.Lock |
static class |
ThreadDump.StackTrace |
Modifier and Type | Field and Description |
---|---|
private static java.lang.String |
multiDumpFilter |
private static java.util.regex.Pattern |
multiDumpFilterPattern |
private static long |
serialVersionUID |
private static java.lang.String |
statestatement |
Constructor and Description |
---|
ThreadDump(java.io.File logFile) |
ThreadDump(java.io.File appPath,
java.util.Map<java.lang.Thread,java.lang.StackTraceElement[]> stackTraces,
boolean plain,
java.lang.Thread.State stateIn) |
ThreadDump(java.io.InputStream is) |
Modifier and Type | Method and Description |
---|---|
void |
appendBlockTraces(java.lang.StringBuilder buffer,
boolean plain) |
void |
appendStackTraces(java.lang.StringBuilder buffer,
boolean plain,
java.lang.Thread.State stateIn) |
static void |
appendStackTraceStats(java.io.File rootPath,
java.lang.StringBuilder buffer,
java.util.List<java.util.Map<java.lang.Thread,java.lang.StackTraceElement[]>> stackTraces,
boolean plain) |
static void |
bufferappend(java.lang.StringBuilder buffer,
boolean plain,
java.lang.String a) |
static boolean |
canProduceLockedBy(java.io.File logFile) |
java.util.Map<ThreadDump.StackTrace,java.lang.Integer> |
countLocks() |
java.util.List<java.util.Map.Entry<ThreadDump.StackTrace,java.util.List<java.lang.String>>> |
freerun() |
static java.util.Map<java.lang.Thread,java.lang.StackTraceElement[]> |
getAllStackTraces() |
private static java.io.File |
getClassFile(java.io.File sourcePath,
java.lang.String classname) |
private static java.lang.String |
getLine(java.io.File file,
int line) |
private void |
importText(java.io.InputStream is) |
ThreadDump.Lock |
lockedBy(ThreadDump.StackTrace threadName)
check if a thread is locked by another thread
|
java.util.Map<ThreadDump.Lock,ThreadDump.StackTrace> |
locks()
find all locks in this dump
|
static void |
main(java.lang.String[] args) |
void |
print() |
void |
print(ThreadDump.StackTrace thread) |
private static java.util.Map.Entry<java.lang.String,java.lang.Integer> |
removeMax(java.util.Map<java.lang.String,java.lang.Integer> result) |
static java.lang.Thread.State |
threadState(java.lang.String line) |
clear, clone, containsKey, containsValue, entrySet, get, isEmpty, keySet, put, putAll, remove, size, values
private static final long serialVersionUID
private static final java.lang.String multiDumpFilter
private static final java.util.regex.Pattern multiDumpFilterPattern
private static final java.lang.String statestatement
public ThreadDump(java.io.File logFile) throws java.io.IOException
java.io.IOException
public ThreadDump(java.io.InputStream is) throws java.io.IOException
java.io.IOException
public ThreadDump(java.io.File appPath, java.util.Map<java.lang.Thread,java.lang.StackTraceElement[]> stackTraces, boolean plain, java.lang.Thread.State stateIn)
public static java.util.Map<java.lang.Thread,java.lang.StackTraceElement[]> getAllStackTraces()
public static boolean canProduceLockedBy(java.io.File logFile)
public static java.lang.Thread.State threadState(java.lang.String line)
private void importText(java.io.InputStream is) throws java.io.IOException
java.io.IOException
public void appendStackTraces(java.lang.StringBuilder buffer, boolean plain, java.lang.Thread.State stateIn)
public void appendBlockTraces(java.lang.StringBuilder buffer, boolean plain)
public static void appendStackTraceStats(java.io.File rootPath, java.lang.StringBuilder buffer, java.util.List<java.util.Map<java.lang.Thread,java.lang.StackTraceElement[]>> stackTraces, boolean plain)
private static java.util.Map.Entry<java.lang.String,java.lang.Integer> removeMax(java.util.Map<java.lang.String,java.lang.Integer> result)
private static java.io.File getClassFile(java.io.File sourcePath, java.lang.String classname)
private static java.lang.String getLine(java.io.File file, int line)
public static void bufferappend(java.lang.StringBuilder buffer, boolean plain, java.lang.String a)
public java.util.List<java.util.Map.Entry<ThreadDump.StackTrace,java.util.List<java.lang.String>>> freerun()
public java.util.Map<ThreadDump.Lock,ThreadDump.StackTrace> locks()
public ThreadDump.Lock lockedBy(ThreadDump.StackTrace threadName)
threadName
- public java.util.Map<ThreadDump.StackTrace,java.lang.Integer> countLocks()
public void print()
public void print(ThreadDump.StackTrace thread)
public static void main(java.lang.String[] args)