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
SiuHui ba4e1c7865
feat: website supports switching to v3.x and add notice for not supporting JDK 6/7 (#2891)
6 months ago
..
README.md feat: website supports switching to v3.x and add notice for not supporting JDK 6/7 (#2891) 6 months ago
advanced-use.md feat: update online tutorials, switch to killercoda (#2604) 2 years ago
advice-class.md update ognl website url 1 year 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 feat: update online tutorials, switch to killercoda (#2604) 2 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! 1 year 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 feat: website supports switching to v3.x and add notice for not supporting JDK 6/7 (#2891) 6 months ago
dump.md fix: update platform name in Arthas tutorials (#2641) 2 years ago
echo.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
faq.md Prettified Code! 1 year ago
getstatic.md update ognl website url 1 year 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 update ognl website url 1 year ago
idea-plugin.md add new doc site to maven build chain. #2161 3 years ago
install-detail.md feat: website supports switching to v3.x and add notice for not supporting JDK 6/7 (#2891) 6 months ago
jad.md jad command support -d/--directory option (#2646) 1 year ago
jfr.md feat: update online tutorials, switch to killercoda (#2604) 2 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 update ognl website url 1 year 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 Prettified Code! 1 year ago
pwd.md fix(docs): refactor sidebar, support aplus (#2242) 3 years ago
quick-start.md feat: update online tutorials, switch to killercoda (#2604) 2 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 feat: update online tutorials, switch to killercoda (#2604) 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 update ognl website url 1 year 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 Prettified Code! 1 year ago
tt.md Prettified Code! 1 year 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 update ognl website url 1 year 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+ (version 4.x no longer supports JDK 6 and JDK 7)
  • Supports Linux/Mac/Windows

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

Contributors