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 275a54c0f1 update doc/tunnel.md 2 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 update docs about save log 2 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 Prettified Code! 2 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 Prettified Code! 2 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 Add -n command example to mbean commands (#2468) 2 years ago
mc.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
memory.md Prettified Code! 2 years ago
monitor.md Prettified Code! 2 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 when jdk version greater than 9, perfcounter command print more info (#2371) 2 years ago
profiler.md update profile include/exclude doc (#2560) 2 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 update docs about save log 2 years ago
sc.md Prettified Code! 2 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 Prettified Code! 2 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 update trace.md 2 years ago
tt.md Prettified Code! 2 years ago
tunnel.md update doc/tunnel.md 2 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 Prettified Code! 2 years ago
watch.md Prettified Code! 2 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