You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
arthas/en/_sources/index.md.txt

52 lines
3.3 KiB
Plaintext

6 years ago
Arthas Documentation
===
6 years ago
**[中文文档/Chinese Documentation](https://alibaba.github.io/arthas/)**
6 years ago
6 years ago
![arthas](arthas.png)
6 years ago
Arthas is a Java diagnostic tool open-sourced by Alibaba middleware team. It is widely adopted and popular among the developers inside Alibaba. Arthas helps developers in trouble-shooting issues in production environment for Java based applications without modifying code or restarting servers.
6 years ago
### Background
6 years ago
Oftentimes the production system network is inaccessible from local development environment. If issues are encountered in production systems, it is impossible to use IDE to debug the application remotely. What's even worse, debugging in production environment is unacceptable, as it will suspend all the threads, leading to services downtime.
6 years ago
6 years ago
Developers could always try to reproduce the same issue on the test/staging environment. However, this is tricky as some issues cannot be reproduced easily in a different environment, or even disappear once restarted.
6 years ago
6 years ago
And if you're thinking of adding some logs to your code to help trouble-shoot the issue, you will have to go through the following lifecycle: test, staging, and then to production. Time is money! This approach is inefficient! Worse still, the issue may not be fixed since it might be irreproducible once the JVM is restarted, as described above.
6 years ago
6 years ago
Arthas is built to solve these issues. A developer can troubleshoot production issues on the fly. No JVM restart, no additional code changes. Arthas works as an observer, that is, it will never suspend your running threads.
6 years ago
### Key features
6 years ago
* Check whether a class is loaded? Or where the class is loaded from? (Useful for trouble-shooting jar file conflicts)
6 years ago
* Decompile a class to ensure the code is running as expected.
6 years ago
* Check classloader statistics, e.g. the number of classloaders, the number of classes loaded per classloader, the classloader hierarchy, possible classloader leaks, etc.
* Check the method invocation details, e.g. method parameter, returned values, exceptions and etc.
* Check the stack trace of specified method invocation. This is useful when a developer wants to know the caller of the method.
6 years ago
* Trace the method invocation to find slow sub-invocations.
6 years ago
* Monitor method invocation statistics, e.g. QPS (Query Per Second), RT (Return Time), success rate and etc.
* Monitor system metrics, thread states and CPU usage, GC statistics and etc.
6 years ago
* Supports command line interactive mode, with auto-complete feature enabled.
6 years ago
* Supports telnet and WebSocket, which enables both local and remote diagnostics with command line and browsers.
6 years ago
* Supports JDK 6+
6 years ago
* Supports Linux/Mac/Windows
6 years ago
6 years ago
**If you are using Arthas, please let us know. Your use is very important to us: [View](https://github.com/alibaba/arthas/issues/111)**
6 years ago
Contents
--------
* [Installation](install-detail.md)
6 years ago
* [Online tutorials(Recommend)](https://alibaba.github.io/arthas/arthas-tutorials?language=en)
6 years ago
* [Quick start](quick-start.md)
* [Advanced usage](advanced-use.md)
* [Commands](commands.md)
6 years ago
* [Docker](docker.md)
6 years ago
* [User cases](https://github.com/alibaba/arthas/issues?q=label%3Auser-case)
* [Questions and answers](https://github.com/alibaba/arthas/issues?q=label%3Aquestion-answered)
* [Fork me at GitHub](https://github.com/alibaba/arthas)
* [CONTRIBUTING](https://github.com/alibaba/arthas/blob/master/CONTRIBUTING.md)
6 years ago
* [Release Notes](release-notes.md)