Datadog's official Go client library for APM tracing, continuous profiling, and application security monitoring.
alibaba/arthas
A Java diagnostic tool that lets you troubleshoot running JVM applications live, without code changes or restarts.
- Stars
- 37,586
- Forks
- 7,643
- Open issues
- 486
- Last commit
- 2 days ago
What is it?
Arthas is a Java diagnostic tool open sourced by Alibaba. It attaches to a running JVM so developers can investigate production problems on the fly, without modifying code or restarting the server. It is designed to observe rather than pause the application, so existing threads keep running.
Its commands cover common investigation tasks: checking which jar a class was loaded from to resolve conflicts, decompiling a loaded class to confirm what code is actually running, inspecting classloader hierarchy, and watching method parameters, return values and exceptions. It also offers thread inspection, method tracing to find slow sub-calls, invocation statistics, and profiler output with Flame Graphs.
Arthas runs as a command line interactive shell with auto-complete, and can also be used from a browser through its WebConsole. It supports JDK 8 and later (including JDK 17, 21 and 25 in the 4.x line) on Linux, macOS and Windows.
Key features
- 01Decompile loaded classes to verify the code actually running.
- 02Trace method calls to locate slow sub-invocations.
- 03Watch method parameters, return values and thrown exceptions without pausing threads.
- 04Inspect threads, CPU usage and GC statistics on a live JVM.
- 05Generate profiler output with Flame Graphs.
- 06Use via command line with auto-complete, telnet, or a browser WebConsole.
Use cases
- Diagnosing a production Java service without restarting it.
- Finding which jar a class was loaded from when dependencies conflict.
- Identifying slow method calls or high-CPU threads in a live application.
- Confirming at runtime which version of a class is actually executing.
Quick start
- 1
Download arthas-boot.jar
curl -O https://arthas.aliyun.com/arthas-boot.jar - 2
Start Arthas with java and attach to a running JVM
java -jar arthas-boot.jar
Things to know
- Only diagnoses Java applications running on a JVM.
- Version 4.x requires JDK 8 or newer.
In collections
Topics
FAQ
- What is arthas?
- A Java diagnostic tool that lets you troubleshoot running JVM applications live, without code changes or restarts. Arthas is a Java diagnostic tool open sourced by Alibaba. It attaches to a running JVM so developers can investigate production problems on the fly, without modifying code or restarting the server. It is designed to observe rather than pause the application, so existing threads keep running.
- Is arthas free to use? What license does it have?
- arthas is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is arthas still maintained?
- Actively maintained. The last commit to arthas was on Oct 23, 2026.
- What can I use arthas for?
- Diagnosing a production Java service without restarting it. Finding which jar a class was loaded from when dependencies conflict. Identifying slow method calls or high-CPU threads in a live application. Confirming at runtime which version of a class is actually executing.
- How do I install arthas?
- Download arthas-boot.jar: curl -O https://arthas.aliyun.com/arthas-boot.jar Start Arthas with java and attach to a running JVM: java -jar arthas-boot.jar
- Where can I get arthas?
- The source code and installation instructions are on GitHub: https://github.com/alibaba/arthas
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Low-overhead sampling profiler for Java that captures CPU, allocation, lock and native memory profiles without safepoint bias.
A CLI and TUI that traces any process, port, container, or file back to the chain of systems that started it.
A CLI tool that scans Kubernetes clusters for issues and uses LLMs to explain problems in plain English.
An eBPF-based network analysis CLI that captures HTTP, Redis, MySQL, Kafka and DNS traffic and shows where latency occurs in the kernel.
A high-performance observability data pipeline in Rust that collects, transforms, and routes logs and metrics to any destination.