Start

Introduction


Installation

Discotek's JStack Analyzer is a developer tool for analyzing the output of the jstack (i.e. <jdk/bin/jstack>) output. As described by the jstack JDK documentation, jstack prints Java stack traces of Java threads for a given Java process. Each line on the top of the stack is the method the thread is currently executing. Each line below any given line represents the method that was called to arrive at a given method. In a busy multi-threaded JVM (e.g. an application server), there may be many threads. When any JVM goes enters into an unintended state, information must be gathered to determine the cause. Two of the most common information gathering techniques are using the JDK jmap utility to collect a heap dump and using the JDK jstack utility to collect all current thread activity. Both utilities have their advantages. jmap is more focused on heap state, but also collects thread data, including local variables, which is extremely useful. jstack's advantages are that it is an extremely lightweight operation and the output is parseable and can be processed by tools like JStack Analyzer.

A busy JVM could easily have hundreds of active threads. When each of these threads produces possibly tens to hundreds of lines per stack, the output can be overwhelming for human consumption. If a problematic JVM can be diagnosed using jstack output, it can sometimes be time consuming to find the needle in the haystack. JStack Analyzer is specifically designed to condense the relevant information so the user can quickly drill down to determine if useful diagnostic information is available in the jstack output.


Start

Introduction


Installation