Skip to content

Commit

Permalink
update README.md. alibaba#51
Browse files Browse the repository at this point in the history
  • Loading branch information
hengyunabc committed Sep 27, 2018
1 parent 208fa47 commit efe6948
Showing 1 changed file with 12 additions and 12 deletions.
24 changes: 12 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,32 +4,32 @@

`Arthas` is a Java Diagnostic tool open sourced by Alibaba.

Arthas can help developer trouble-shoot production issues for Java applications without modifying your code or restarting your server.
Arthas help developers in trouble-shooting production issues for Java applications without modifying code or restarting servers.

[中文说明](README_CN.md) (For Chinese Documentation)

### Background

In production system, sometimes the network is unreachable from local development environment. If you encounter some issues in production system, it is impossible to use IDE to debug the application remotely. More importantly, debugging in production is unacceptable, because it will suspend all the threads, which leads to business unavailability.
Often times, 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. More importantly, debugging in production environment is unacceptable, as it will suspend all the threads, which leads to blocking of business services.

Some may think of reproducing the same issue on the test/staging environment. However, some tricky issues either can hardly be reproduced on a different environment, or even disappear once restarted.
Developers could always try to reproduce the same issue on the test/staging environment. However, this is tricky as some issues cannot be be reproduced easily on a different environment, or even disappear once restarted.

Thinking of adding some logs to your code? You have to go through test, staging, and then on to production. Time is money! That is very inefficient! Besides, the issue may not be reproducible once you restart your JVM, as described above.
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! Besides, the issue may not be reproducible once the JVM is restarted, as described above.

Arthas is born to solve these issues. You can trouble-shoot your production issue on-the-fly. No need for JVM restart, no additional code changes. Arthas works as an observer, which will never suspend your existing threads.
Arthas was built to solve these issues. A developer can trouble-shoot your production issues on-the-fly. No JVM restart, no additional code changes. Arthas works as an observer, which will never suspend your existing threads.

### Key features

* Check whether a class is loaded? And where the class is loaded from? (Useful for trouble-shooting jar file conflicts)
* Check whether a class is loaded? Or where the class is loaded from? (Useful for trouble-shooting jar file conflicts)
* Decompile a class to ensure the code is running as expected.
* View classloader statistics, e.g. how may classloaders are there? How many classes are loaded per classloader? What is the classloader hierarchy? Are there possible classloader leaks?
* View classloader statistics, e.g. the number of classloaders, the number of classes loaded per classloader, the classloader hierarchy, possible classloader leaks, etc.
* View the method invocation details, e.g. method parameter, return object, thrown exception, and etc.
* Check the stack trace of specified method invocation. This is useful when you would like to know who is calling your method.
* Check the stack trace of specified method invocation. This is useful when a developers wants to know the caller of the said method.
* Trace the method invocation to find slow sub-invocations.
* Monitor method invcation statistics, e.g. qps, rt, success rate, etc.
* Monitoring your system metrics, thread states and cpu usage, gc statistics, etc.
* Support command line interactive mode, with auto complete feature enabled.
* Support telnet and websocket, which enables both local and remote diagnostics with command line and browsers.
* Monitor method invocation statistics, e.g. qps, rt, success rate and etc.
* Monitor system metrics, thread states and cpu usage, gc statistics, and etc.
* Supports command line interactive mode, with auto-complete feature enabled.
* Supports telnet and websocket, which enables both local and remote diagnostics with command line and browsers.

### Quick start

Expand Down

0 comments on commit efe6948

Please sign in to comment.