Arthas
A Java diagnostic tool that lets developers troubleshoot production issues, such as classloader conflicts and slow method calls, without modifying code or restarting the JVM.
Arthas is a Java diagnostic tool, open-sourced by Alibaba, for troubleshooting production issues without modifying application code or restarting the JVM. It addresses a common problem for Java developers: production issues are often inaccessible to a local IDE debugger, unacceptable to debug directly in production because it suspends threads, and sometimes impossible to reproduce in a different environment or after a restart.
Arthas attaches to a running JVM as an observer that never suspends existing threads. It can check whether and where a class was loaded, decompile a class to confirm the code actually running, inspect classloader statistics and possible leaks, view method invocation parameters, return values and thrown exceptions, trace method calls to find slow sub-invocations, and monitor call statistics such as QPS, response time and success rate alongside thread state, CPU and garbage collection metrics.
It supports an interactive command-line mode with autocomplete, telnet and WebSocket access for local or remote diagnostics, and profiling with flame graphs.