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/site/docs/en/doc
hengyunabc 7954f12bf6 Prettified Code! 3 years ago
..
README.md feat(docs): add right menu and optimize (#2224) #2161 3 years ago
advanced-use.md feat(docs): add right menu and optimize (#2224) #2161 3 years ago
advice-class.md add new doc site to maven build chain. #2161 3 years ago
agent.md add new doc site to maven build chain. #2161 3 years ago
arthas-properties.md add new doc site to maven build chain. #2161 3 years ago
async.md add new doc site to maven build chain. #2161 3 years ago
auth.md add new doc site to maven build chain. #2161 3 years ago
base64.md add new doc site to maven build chain. #2161 3 years ago
batch-support.md add new doc site to maven build chain. #2161 3 years ago
cat.md add new doc site to maven build chain. #2161 3 years ago
classloader.md add new doc site to maven build chain. #2161 3 years ago
cls.md add new doc site to maven build chain. #2161 3 years ago
commands.md feat(docs): add right menu and optimize (#2224) #2161 3 years ago
contact-us.md add new doc site to maven build chain. #2161 3 years ago
dashboard.md add new doc site to maven build chain. #2161 3 years ago
docker.md add new doc site to maven build chain. #2161 3 years ago
download.md add new doc site to maven build chain. #2161 3 years ago
dump.md add new doc site to maven build chain. #2161 3 years ago
echo.md add new doc site to maven build chain. #2161 3 years ago
faq.md feat(docs): add right menu and optimize (#2224) #2161 3 years ago
getstatic.md add new doc site to maven build chain. #2161 3 years ago
grep.md add new doc site to maven build chain. #2161 3 years ago
groovy.md add new doc site to maven build chain. #2161 3 years ago
heapdump.md add new doc site to maven build chain. #2161 3 years ago
help.md add new doc site to maven build chain. #2161 3 years ago
history.md add new doc site to maven build chain. #2161 3 years ago
http-api.md add new doc site to maven build chain. #2161 3 years ago
idea-plugin.md add new doc site to maven build chain. #2161 3 years ago
install-detail.md add new doc site to maven build chain. #2161 3 years ago
jad.md add new doc site to maven build chain. #2161 3 years ago
jvm.md add new doc site to maven build chain. #2161 3 years ago
keymap.md add new doc site to maven build chain. #2161 3 years ago
logger.md add new doc site to maven build chain. #2161 3 years ago
manual-install.md add new doc site to maven build chain. #2161 3 years ago
mbean.md add new doc site to maven build chain. #2161 3 years ago
mc.md add new doc site to maven build chain. #2161 3 years ago
memory.md add new doc site to maven build chain. #2161 3 years ago
monitor.md add new doc site to maven build chain. #2161 3 years ago
ognl.md add new doc site to maven build chain. #2161 3 years ago
options.md add new doc site to maven build chain. #2161 3 years ago
perfcounter.md add new doc site to maven build chain. #2161 3 years ago
profiler.md add new doc site to maven build chain. #2161 3 years ago
pwd.md add new doc site to maven build chain. #2161 3 years ago
quick-start.md add new doc site to maven build chain. #2161 3 years ago
quit.md add new doc site to maven build chain. #2161 3 years ago
redefine.md add new doc site to maven build chain. #2161 3 years ago
release-notes.md add new doc site to maven build chain. #2161 3 years ago
reset.md add new doc site to maven build chain. #2161 3 years ago
retransform.md add new doc site to maven build chain. #2161 3 years ago
save-log.md add new doc site to maven build chain. #2161 3 years ago
sc.md add new doc site to maven build chain. #2161 3 years ago
session.md add new doc site to maven build chain. #2161 3 years ago
sm.md add new doc site to maven build chain. #2161 3 years ago
spring-boot-starter.md add new doc site to maven build chain. #2161 3 years ago
stack.md add new doc site to maven build chain. #2161 3 years ago
start-arthas.md add new doc site to maven build chain. #2161 3 years ago
stop.md add new doc site to maven build chain. #2161 3 years ago
sysenv.md add new doc site to maven build chain. #2161 3 years ago
sysprop.md add new doc site to maven build chain. #2161 3 years ago
tee.md add new doc site to maven build chain. #2161 3 years ago
thread.md add new doc site to maven build chain. #2161 3 years ago
trace.md add new doc site to maven build chain. #2161 3 years ago
tt.md add new doc site to maven build chain. #2161 3 years ago
tunnel.md Prettified Code! 3 years ago
version.md add new doc site to maven build chain. #2161 3 years ago
vmoption.md add new doc site to maven build chain. #2161 3 years ago
vmtool.md add new doc site to maven build chain. #2161 3 years ago
watch.md add new doc site to maven build chain. #2161 3 years ago
web-console.md add new doc site to maven build chain. #2161 3 years ago

README.md

Introduction

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.

Background

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.

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.

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.

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.

Key features

  • 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.
  • 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.
  • Trace the method invocation to find slow sub-invocations.
  • 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.
  • 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.
  • Supports profiler/Flame Graph
  • Support get objects in the heap that are instances of the specified class.
  • Supports JDK 6+
  • Supports Linux/Mac/Windows

If you are using Arthas, please let us know. Your feedback is very important to us: View

Contributors