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
longxu0509 c536748f20 add jfr command. #2262 3 years ago
..
README.md fix(docs): refactor sidebar, support aplus (#2242) 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 fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
base64.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
batch-support.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
cat.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
classloader.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
cls.md add new doc site to maven build chain. #2161 3 years ago
commands.md add jfr command. #2262 3 years ago
contact-us.md add new doc site to maven build chain. #2161 3 years ago
dashboard.md fix(docs): refactor sidebar, support aplus (#2242) 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 fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
echo.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
faq.md feat(docs): add right menu and optimize (#2224) #2161 3 years ago
getstatic.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
grep.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
groovy.md add new doc site to maven build chain. #2161 3 years ago
heapdump.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
help.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
history.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
http-api.md fix(docs): refactor sidebar, support aplus (#2242) 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 fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
jfr.md add jfr command. #2262 3 years ago
jvm.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
keymap.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
logger.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
manual-install.md add new doc site to maven build chain. #2161 3 years ago
mbean.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
mc.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
memory.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
monitor.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
ognl.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
options.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
perfcounter.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
profiler.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
pwd.md fix(docs): refactor sidebar, support aplus (#2242) 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 fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
release-notes.md add new doc site to maven build chain. #2161 3 years ago
reset.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
retransform.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
save-log.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
sc.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
session.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
sm.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
spring-boot-starter.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
stack.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
start-arthas.md add new doc site to maven build chain. #2161 3 years ago
stop.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
sysenv.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
sysprop.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
tee.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
thread.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
trace.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
tt.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
tunnel.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
version.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
vmoption.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
vmtool.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
watch.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
web-console.md fix(docs): refactor sidebar, support aplus (#2242) 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