Dumpling 1.0 released
Dumpling has finally reached version 1.0 lately. What are the coolest features?
Filtering threads with grep
query
One of the most common uses of groovy
command was filtering the ThreadSet
based on a predicate. This is now made trivial. Instead of:
./dumpling.sh groovy --in ... ... <<< "runtime.threads.grep { it.name.contains 'messaging-14' }"
one can simply run:
./dumpling.sh grep "thread.name.contains 'messaging-14'" --in ... ...
Generate hotspot-like threaddump listing
Commands threaddump
, grep
and groovy
now accept --porcelain
option to generate thread listing compatible with hostpot’s jstack. If you need to process the results by some other tool, Dumpling is here to normalize any dump format it is able to parse into something other tools are much likely to understand.
Taking full advantage of different threaddump sources
Since 1.0, Dumpling uses generic data model internally allowing different threaddump sources to contribute subclasses for essential model classes. This opens whole lot of possibilities for the future to add information about contention monitoring or any other information given factory can discover.
One of the first advantages users can observe is that ProcessThread
obtained via jvm runtime factory holds reference to the java.lang.Thread
itself. Interrupting the thread(s) identified using dumpling is now easier than ever.
Tags: dumpling