From 92dd9a2fb0bc468d6276cf3a447553b3b0bf0ed2 Mon Sep 17 00:00:00 2001 From: Hollow Man Date: Thu, 13 Aug 2020 17:03:31 +0800 Subject: [PATCH] Fix intro.md (#1367) --- tutorials/katacoda/command-cat-cn/intro.md | 14 ++++++++- tutorials/katacoda/command-cat-en/intro.md | 30 ++++++++++++++++++- tutorials/katacoda/command-cls-cn/intro.md | 14 ++++++++- tutorials/katacoda/command-cls-en/intro.md | 30 ++++++++++++++++++- .../katacoda/command-dashboard-cn/intro.md | 14 ++++++++- .../katacoda/command-dashboard-en/intro.md | 30 ++++++++++++++++++- tutorials/katacoda/command-echo-cn/intro.md | 14 ++++++++- tutorials/katacoda/command-echo-en/intro.md | 30 ++++++++++++++++++- tutorials/katacoda/command-grep-cn/intro.md | 14 ++++++++- tutorials/katacoda/command-grep-en/intro.md | 30 ++++++++++++++++++- tutorials/katacoda/command-help-cn/intro.md | 14 ++++++++- tutorials/katacoda/command-help-en/intro.md | 30 ++++++++++++++++++- .../katacoda/command-history-cn/intro.md | 14 ++++++++- .../katacoda/command-history-en/intro.md | 30 ++++++++++++++++++- tutorials/katacoda/command-jvm-cn/intro.md | 2 +- tutorials/katacoda/command-jvm-en/intro.md | 2 +- tutorials/katacoda/command-keymap-cn/intro.md | 14 ++++++++- tutorials/katacoda/command-keymap-en/intro.md | 30 ++++++++++++++++++- .../katacoda/command-perfcounter-cn/intro.md | 2 +- .../katacoda/command-perfcounter-en/intro.md | 2 +- tutorials/katacoda/command-pwd-cn/intro.md | 14 ++++++++- tutorials/katacoda/command-pwd-en/intro.md | 30 ++++++++++++++++++- .../katacoda/command-quit-stop-cn/intro.md | 14 ++++++++- .../katacoda/command-quit-stop-en/intro.md | 30 ++++++++++++++++++- tutorials/katacoda/command-reset-cn/intro.md | 14 ++++++++- tutorials/katacoda/command-reset-en/intro.md | 30 ++++++++++++++++++- .../katacoda/command-session-cn/intro.md | 14 ++++++++- .../katacoda/command-session-en/intro.md | 30 ++++++++++++++++++- tutorials/katacoda/command-sysenv-cn/intro.md | 2 +- tutorials/katacoda/command-sysenv-en/intro.md | 2 +- .../katacoda/command-sysprop-cn/intro.md | 2 +- .../katacoda/command-sysprop-en/intro.md | 2 +- tutorials/katacoda/command-tee-cn/intro.md | 14 ++++++++- tutorials/katacoda/command-tee-en/intro.md | 30 ++++++++++++++++++- tutorials/katacoda/command-thread-cn/intro.md | 2 +- tutorials/katacoda/command-thread-en/intro.md | 2 +- .../katacoda/command-version-cn/intro.md | 14 ++++++++- .../katacoda/command-version-en/intro.md | 30 ++++++++++++++++++- .../katacoda/command-vmoption-cn/intro.md | 2 +- .../katacoda/command-vmoption-en/intro.md | 2 +- 40 files changed, 600 insertions(+), 40 deletions(-) diff --git a/tutorials/katacoda/command-cat-cn/intro.md b/tutorials/katacoda/command-cat-cn/intro.md index 305296638..bb9cf22f4 100644 --- a/tutorials/katacoda/command-cat-cn/intro.md +++ b/tutorials/katacoda/command-cat-cn/intro.md @@ -7,5 +7,17 @@ `Arthas` 支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 `Tab` 自动补全功能,进一步方便进行问题的定位和诊断。 +当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: + +- 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? +- 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? +- 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? +- 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! +- 是否有一个全局视角来查看系统的运行状况? +- 有什么办法可以监控到JVM的实时运行状态? +- 怎么快速定位应用的热点,生成火焰图? + +本教程会以一个简单的应用为例,演示cat命令。 + * Github: https://github.com/alibaba/arthas -* 文档: https://arthas.aliyun.com/doc/ \ No newline at end of file +* 文档: https://arthas.aliyun.com/doc/ diff --git a/tutorials/katacoda/command-cat-en/intro.md b/tutorials/katacoda/command-cat-en/intro.md index c27afd332..b68f7b9e2 100644 --- a/tutorials/katacoda/command-cat-en/intro.md +++ b/tutorials/katacoda/command-cat-en/intro.md @@ -7,5 +7,33 @@ `Arthas` supports JDK 6+, supports Linux/Mac/Windows. +## 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 +- Supports JDK 6+ +- Supports Linux/Mac/Windows + +This tutorial takes a simple application as an example to demonstrate the the usage of cat. + * Github: https://github.com/alibaba/arthas -* Documentation: https://arthas.aliyun.com/doc/en \ No newline at end of file +* Documentation: https://arthas.aliyun.com/doc/en diff --git a/tutorials/katacoda/command-cls-cn/intro.md b/tutorials/katacoda/command-cls-cn/intro.md index 305296638..935f1f528 100644 --- a/tutorials/katacoda/command-cls-cn/intro.md +++ b/tutorials/katacoda/command-cls-cn/intro.md @@ -7,5 +7,17 @@ `Arthas` 支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 `Tab` 自动补全功能,进一步方便进行问题的定位和诊断。 +当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: + +- 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? +- 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? +- 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? +- 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! +- 是否有一个全局视角来查看系统的运行状况? +- 有什么办法可以监控到JVM的实时运行状态? +- 怎么快速定位应用的热点,生成火焰图? + +本教程会以一个简单的应用为例,演示cls命令。 + * Github: https://github.com/alibaba/arthas -* 文档: https://arthas.aliyun.com/doc/ \ No newline at end of file +* 文档: https://arthas.aliyun.com/doc/ diff --git a/tutorials/katacoda/command-cls-en/intro.md b/tutorials/katacoda/command-cls-en/intro.md index c27afd332..40ea5eed6 100644 --- a/tutorials/katacoda/command-cls-en/intro.md +++ b/tutorials/katacoda/command-cls-en/intro.md @@ -7,5 +7,33 @@ `Arthas` supports JDK 6+, supports Linux/Mac/Windows. +## 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 +- Supports JDK 6+ +- Supports Linux/Mac/Windows + +This tutorial takes a simple application as an example to demonstrate the the usage of cls. + * Github: https://github.com/alibaba/arthas -* Documentation: https://arthas.aliyun.com/doc/en \ No newline at end of file +* Documentation: https://arthas.aliyun.com/doc/en diff --git a/tutorials/katacoda/command-dashboard-cn/intro.md b/tutorials/katacoda/command-dashboard-cn/intro.md index 305296638..d007d5480 100644 --- a/tutorials/katacoda/command-dashboard-cn/intro.md +++ b/tutorials/katacoda/command-dashboard-cn/intro.md @@ -7,5 +7,17 @@ `Arthas` 支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 `Tab` 自动补全功能,进一步方便进行问题的定位和诊断。 +当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: + +- 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? +- 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? +- 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? +- 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! +- 是否有一个全局视角来查看系统的运行状况? +- 有什么办法可以监控到JVM的实时运行状态? +- 怎么快速定位应用的热点,生成火焰图? + +本教程会以一个简单的应用为例,演示dashboard命令。 + * Github: https://github.com/alibaba/arthas -* 文档: https://arthas.aliyun.com/doc/ \ No newline at end of file +* 文档: https://arthas.aliyun.com/doc/ diff --git a/tutorials/katacoda/command-dashboard-en/intro.md b/tutorials/katacoda/command-dashboard-en/intro.md index c27afd332..0b54bbfb3 100644 --- a/tutorials/katacoda/command-dashboard-en/intro.md +++ b/tutorials/katacoda/command-dashboard-en/intro.md @@ -7,5 +7,33 @@ `Arthas` supports JDK 6+, supports Linux/Mac/Windows. +## 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 +- Supports JDK 6+ +- Supports Linux/Mac/Windows + +This tutorial takes a simple application as an example to demonstrate the the usage of dashboard. + * Github: https://github.com/alibaba/arthas -* Documentation: https://arthas.aliyun.com/doc/en \ No newline at end of file +* Documentation: https://arthas.aliyun.com/doc/en diff --git a/tutorials/katacoda/command-echo-cn/intro.md b/tutorials/katacoda/command-echo-cn/intro.md index 305296638..2929e1c4e 100644 --- a/tutorials/katacoda/command-echo-cn/intro.md +++ b/tutorials/katacoda/command-echo-cn/intro.md @@ -7,5 +7,17 @@ `Arthas` 支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 `Tab` 自动补全功能,进一步方便进行问题的定位和诊断。 +当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: + +- 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? +- 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? +- 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? +- 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! +- 是否有一个全局视角来查看系统的运行状况? +- 有什么办法可以监控到JVM的实时运行状态? +- 怎么快速定位应用的热点,生成火焰图? + +本教程会以一个简单的应用为例,演示echo命令。 + * Github: https://github.com/alibaba/arthas -* 文档: https://arthas.aliyun.com/doc/ \ No newline at end of file +* 文档: https://arthas.aliyun.com/doc/ diff --git a/tutorials/katacoda/command-echo-en/intro.md b/tutorials/katacoda/command-echo-en/intro.md index c27afd332..62e4e5041 100644 --- a/tutorials/katacoda/command-echo-en/intro.md +++ b/tutorials/katacoda/command-echo-en/intro.md @@ -7,5 +7,33 @@ `Arthas` supports JDK 6+, supports Linux/Mac/Windows. +## 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 +- Supports JDK 6+ +- Supports Linux/Mac/Windows + +This tutorial takes a simple application as an example to demonstrate the the usage of echo. + * Github: https://github.com/alibaba/arthas -* Documentation: https://arthas.aliyun.com/doc/en \ No newline at end of file +* Documentation: https://arthas.aliyun.com/doc/en diff --git a/tutorials/katacoda/command-grep-cn/intro.md b/tutorials/katacoda/command-grep-cn/intro.md index 305296638..f16652299 100644 --- a/tutorials/katacoda/command-grep-cn/intro.md +++ b/tutorials/katacoda/command-grep-cn/intro.md @@ -7,5 +7,17 @@ `Arthas` 支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 `Tab` 自动补全功能,进一步方便进行问题的定位和诊断。 +当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: + +- 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? +- 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? +- 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? +- 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! +- 是否有一个全局视角来查看系统的运行状况? +- 有什么办法可以监控到JVM的实时运行状态? +- 怎么快速定位应用的热点,生成火焰图? + +本教程会以一个简单的应用为例,演示grep命令。 + * Github: https://github.com/alibaba/arthas -* 文档: https://arthas.aliyun.com/doc/ \ No newline at end of file +* 文档: https://arthas.aliyun.com/doc/ diff --git a/tutorials/katacoda/command-grep-en/intro.md b/tutorials/katacoda/command-grep-en/intro.md index c27afd332..d2b36e367 100644 --- a/tutorials/katacoda/command-grep-en/intro.md +++ b/tutorials/katacoda/command-grep-en/intro.md @@ -7,5 +7,33 @@ `Arthas` supports JDK 6+, supports Linux/Mac/Windows. +## 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 +- Supports JDK 6+ +- Supports Linux/Mac/Windows + +This tutorial takes a simple application as an example to demonstrate the the usage of grep. + * Github: https://github.com/alibaba/arthas -* Documentation: https://arthas.aliyun.com/doc/en \ No newline at end of file +* Documentation: https://arthas.aliyun.com/doc/en diff --git a/tutorials/katacoda/command-help-cn/intro.md b/tutorials/katacoda/command-help-cn/intro.md index 305296638..7caf4e3dd 100644 --- a/tutorials/katacoda/command-help-cn/intro.md +++ b/tutorials/katacoda/command-help-cn/intro.md @@ -7,5 +7,17 @@ `Arthas` 支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 `Tab` 自动补全功能,进一步方便进行问题的定位和诊断。 +当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: + +- 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? +- 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? +- 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? +- 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! +- 是否有一个全局视角来查看系统的运行状况? +- 有什么办法可以监控到JVM的实时运行状态? +- 怎么快速定位应用的热点,生成火焰图? + +本教程会以一个简单的应用为例,演示help命令。 + * Github: https://github.com/alibaba/arthas -* 文档: https://arthas.aliyun.com/doc/ \ No newline at end of file +* 文档: https://arthas.aliyun.com/doc/ diff --git a/tutorials/katacoda/command-help-en/intro.md b/tutorials/katacoda/command-help-en/intro.md index c27afd332..a7e925fdd 100644 --- a/tutorials/katacoda/command-help-en/intro.md +++ b/tutorials/katacoda/command-help-en/intro.md @@ -7,5 +7,33 @@ `Arthas` supports JDK 6+, supports Linux/Mac/Windows. +## 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 +- Supports JDK 6+ +- Supports Linux/Mac/Windows + +This tutorial takes a simple application as an example to demonstrate the the usage of help. + * Github: https://github.com/alibaba/arthas -* Documentation: https://arthas.aliyun.com/doc/en \ No newline at end of file +* Documentation: https://arthas.aliyun.com/doc/en diff --git a/tutorials/katacoda/command-history-cn/intro.md b/tutorials/katacoda/command-history-cn/intro.md index 305296638..914f06439 100644 --- a/tutorials/katacoda/command-history-cn/intro.md +++ b/tutorials/katacoda/command-history-cn/intro.md @@ -7,5 +7,17 @@ `Arthas` 支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 `Tab` 自动补全功能,进一步方便进行问题的定位和诊断。 +当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: + +- 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? +- 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? +- 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? +- 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! +- 是否有一个全局视角来查看系统的运行状况? +- 有什么办法可以监控到JVM的实时运行状态? +- 怎么快速定位应用的热点,生成火焰图? + +本教程会以一个简单的应用为例,演示history命令。 + * Github: https://github.com/alibaba/arthas -* 文档: https://arthas.aliyun.com/doc/ \ No newline at end of file +* 文档: https://arthas.aliyun.com/doc/ diff --git a/tutorials/katacoda/command-history-en/intro.md b/tutorials/katacoda/command-history-en/intro.md index c27afd332..2d079bd40 100644 --- a/tutorials/katacoda/command-history-en/intro.md +++ b/tutorials/katacoda/command-history-en/intro.md @@ -7,5 +7,33 @@ `Arthas` supports JDK 6+, supports Linux/Mac/Windows. +## 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 +- Supports JDK 6+ +- Supports Linux/Mac/Windows + +This tutorial takes a simple application as an example to demonstrate the the usage of history. + * Github: https://github.com/alibaba/arthas -* Documentation: https://arthas.aliyun.com/doc/en \ No newline at end of file +* Documentation: https://arthas.aliyun.com/doc/en diff --git a/tutorials/katacoda/command-jvm-cn/intro.md b/tutorials/katacoda/command-jvm-cn/intro.md index 2e9e8ddfc..6052cadf7 100644 --- a/tutorials/katacoda/command-jvm-cn/intro.md +++ b/tutorials/katacoda/command-jvm-cn/intro.md @@ -17,7 +17,7 @@ - 有什么办法可以监控到JVM的实时运行状态? - 怎么快速定位应用的热点,生成火焰图? -本教程会以一个普通的Spring Boot应用为例,演示jvm命令。 +本教程会以一个简单的应用为例,演示jvm命令。 * Github: https://github.com/alibaba/arthas * 文档: https://arthas.aliyun.com/doc/ diff --git a/tutorials/katacoda/command-jvm-en/intro.md b/tutorials/katacoda/command-jvm-en/intro.md index 228fae622..1fcf22102 100644 --- a/tutorials/katacoda/command-jvm-en/intro.md +++ b/tutorials/katacoda/command-jvm-en/intro.md @@ -33,7 +33,7 @@ Arthas is built to solve these issues. A developer can troubleshoot production i - Supports JDK 6+ - Supports Linux/Mac/Windows -This tutorial takes a normal Spring Boot application as an example to demonstrate the the usage of jvm. +This tutorial takes a simple application as an example to demonstrate the the usage of mbean. * Github: https://github.com/alibaba/arthas * Docs: https://arthas.aliyun.com/doc/ diff --git a/tutorials/katacoda/command-keymap-cn/intro.md b/tutorials/katacoda/command-keymap-cn/intro.md index 305296638..dd931bca0 100644 --- a/tutorials/katacoda/command-keymap-cn/intro.md +++ b/tutorials/katacoda/command-keymap-cn/intro.md @@ -7,5 +7,17 @@ `Arthas` 支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 `Tab` 自动补全功能,进一步方便进行问题的定位和诊断。 +当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: + +- 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? +- 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? +- 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? +- 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! +- 是否有一个全局视角来查看系统的运行状况? +- 有什么办法可以监控到JVM的实时运行状态? +- 怎么快速定位应用的热点,生成火焰图? + +本教程会以一个简单的应用为例,演示keymap命令。 + * Github: https://github.com/alibaba/arthas -* 文档: https://arthas.aliyun.com/doc/ \ No newline at end of file +* 文档: https://arthas.aliyun.com/doc/ diff --git a/tutorials/katacoda/command-keymap-en/intro.md b/tutorials/katacoda/command-keymap-en/intro.md index c27afd332..a3898cccb 100644 --- a/tutorials/katacoda/command-keymap-en/intro.md +++ b/tutorials/katacoda/command-keymap-en/intro.md @@ -7,5 +7,33 @@ `Arthas` supports JDK 6+, supports Linux/Mac/Windows. +## 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 +- Supports JDK 6+ +- Supports Linux/Mac/Windows + +This tutorial takes a simple application as an example to demonstrate the the usage of keymap. + * Github: https://github.com/alibaba/arthas -* Documentation: https://arthas.aliyun.com/doc/en \ No newline at end of file +* Documentation: https://arthas.aliyun.com/doc/en diff --git a/tutorials/katacoda/command-perfcounter-cn/intro.md b/tutorials/katacoda/command-perfcounter-cn/intro.md index ecaccfc4c..9aa540ec5 100644 --- a/tutorials/katacoda/command-perfcounter-cn/intro.md +++ b/tutorials/katacoda/command-perfcounter-cn/intro.md @@ -17,7 +17,7 @@ - 有什么办法可以监控到JVM的实时运行状态? - 怎么快速定位应用的热点,生成火焰图? -本教程会以一个普通的Spring Boot应用为例,演示perfcounter命令。 +本教程会以一个简单的应用为例,演示perfcounter命令。 * Github: https://github.com/alibaba/arthas * 文档: https://arthas.aliyun.com/doc/ diff --git a/tutorials/katacoda/command-perfcounter-en/intro.md b/tutorials/katacoda/command-perfcounter-en/intro.md index 48fe7e3c1..2009cc95d 100644 --- a/tutorials/katacoda/command-perfcounter-en/intro.md +++ b/tutorials/katacoda/command-perfcounter-en/intro.md @@ -33,7 +33,7 @@ Arthas is built to solve these issues. A developer can troubleshoot production i - Supports JDK 6+ - Supports Linux/Mac/Windows -This tutorial takes a normal Spring Boot application as an example to demonstrate the the usage of perfcounter. +This tutorial takes a simple application as an example to demonstrate the the usage of perfcounter. * Github: https://github.com/alibaba/arthas * Docs: https://arthas.aliyun.com/doc/ diff --git a/tutorials/katacoda/command-pwd-cn/intro.md b/tutorials/katacoda/command-pwd-cn/intro.md index 305296638..64be66950 100644 --- a/tutorials/katacoda/command-pwd-cn/intro.md +++ b/tutorials/katacoda/command-pwd-cn/intro.md @@ -7,5 +7,17 @@ `Arthas` 支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 `Tab` 自动补全功能,进一步方便进行问题的定位和诊断。 +当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: + +- 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? +- 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? +- 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? +- 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! +- 是否有一个全局视角来查看系统的运行状况? +- 有什么办法可以监控到JVM的实时运行状态? +- 怎么快速定位应用的热点,生成火焰图? + +本教程会以一个简单的应用为例,演示pwd命令。 + * Github: https://github.com/alibaba/arthas -* 文档: https://arthas.aliyun.com/doc/ \ No newline at end of file +* 文档: https://arthas.aliyun.com/doc/ diff --git a/tutorials/katacoda/command-pwd-en/intro.md b/tutorials/katacoda/command-pwd-en/intro.md index c27afd332..23185febb 100644 --- a/tutorials/katacoda/command-pwd-en/intro.md +++ b/tutorials/katacoda/command-pwd-en/intro.md @@ -7,5 +7,33 @@ `Arthas` supports JDK 6+, supports Linux/Mac/Windows. +## 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 +- Supports JDK 6+ +- Supports Linux/Mac/Windows + +This tutorial takes a simple application as an example to demonstrate the the usage of pwd. + * Github: https://github.com/alibaba/arthas -* Documentation: https://arthas.aliyun.com/doc/en \ No newline at end of file +* Documentation: https://arthas.aliyun.com/doc/en diff --git a/tutorials/katacoda/command-quit-stop-cn/intro.md b/tutorials/katacoda/command-quit-stop-cn/intro.md index 305296638..ab9e0e781 100644 --- a/tutorials/katacoda/command-quit-stop-cn/intro.md +++ b/tutorials/katacoda/command-quit-stop-cn/intro.md @@ -7,5 +7,17 @@ `Arthas` 支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 `Tab` 自动补全功能,进一步方便进行问题的定位和诊断。 +当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: + +- 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? +- 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? +- 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? +- 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! +- 是否有一个全局视角来查看系统的运行状况? +- 有什么办法可以监控到JVM的实时运行状态? +- 怎么快速定位应用的热点,生成火焰图? + +本教程会以一个简单的应用为例,演示quit, stop命令。 + * Github: https://github.com/alibaba/arthas -* 文档: https://arthas.aliyun.com/doc/ \ No newline at end of file +* 文档: https://arthas.aliyun.com/doc/ diff --git a/tutorials/katacoda/command-quit-stop-en/intro.md b/tutorials/katacoda/command-quit-stop-en/intro.md index c27afd332..06291efdb 100644 --- a/tutorials/katacoda/command-quit-stop-en/intro.md +++ b/tutorials/katacoda/command-quit-stop-en/intro.md @@ -7,5 +7,33 @@ `Arthas` supports JDK 6+, supports Linux/Mac/Windows. +## 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 +- Supports JDK 6+ +- Supports Linux/Mac/Windows + +This tutorial takes a simple application as an example to demonstrate the the usage of quit, stop. + * Github: https://github.com/alibaba/arthas -* Documentation: https://arthas.aliyun.com/doc/en \ No newline at end of file +* Documentation: https://arthas.aliyun.com/doc/en diff --git a/tutorials/katacoda/command-reset-cn/intro.md b/tutorials/katacoda/command-reset-cn/intro.md index 305296638..aa2c3ae0d 100644 --- a/tutorials/katacoda/command-reset-cn/intro.md +++ b/tutorials/katacoda/command-reset-cn/intro.md @@ -7,5 +7,17 @@ `Arthas` 支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 `Tab` 自动补全功能,进一步方便进行问题的定位和诊断。 +当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: + +- 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? +- 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? +- 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? +- 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! +- 是否有一个全局视角来查看系统的运行状况? +- 有什么办法可以监控到JVM的实时运行状态? +- 怎么快速定位应用的热点,生成火焰图? + +本教程会以一个简单的应用为例,演示reset命令。 + * Github: https://github.com/alibaba/arthas -* 文档: https://arthas.aliyun.com/doc/ \ No newline at end of file +* 文档: https://arthas.aliyun.com/doc/ diff --git a/tutorials/katacoda/command-reset-en/intro.md b/tutorials/katacoda/command-reset-en/intro.md index c27afd332..2e35fa9ea 100644 --- a/tutorials/katacoda/command-reset-en/intro.md +++ b/tutorials/katacoda/command-reset-en/intro.md @@ -7,5 +7,33 @@ `Arthas` supports JDK 6+, supports Linux/Mac/Windows. +## 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 +- Supports JDK 6+ +- Supports Linux/Mac/Windows + +This tutorial takes a simple application as an example to demonstrate the the usage of reset. + * Github: https://github.com/alibaba/arthas -* Documentation: https://arthas.aliyun.com/doc/en \ No newline at end of file +* Documentation: https://arthas.aliyun.com/doc/en diff --git a/tutorials/katacoda/command-session-cn/intro.md b/tutorials/katacoda/command-session-cn/intro.md index 305296638..6046de5a2 100644 --- a/tutorials/katacoda/command-session-cn/intro.md +++ b/tutorials/katacoda/command-session-cn/intro.md @@ -7,5 +7,17 @@ `Arthas` 支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 `Tab` 自动补全功能,进一步方便进行问题的定位和诊断。 +当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: + +- 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? +- 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? +- 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? +- 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! +- 是否有一个全局视角来查看系统的运行状况? +- 有什么办法可以监控到JVM的实时运行状态? +- 怎么快速定位应用的热点,生成火焰图? + +本教程会以一个简单的应用为例,演示session命令。 + * Github: https://github.com/alibaba/arthas -* 文档: https://arthas.aliyun.com/doc/ \ No newline at end of file +* 文档: https://arthas.aliyun.com/doc/ diff --git a/tutorials/katacoda/command-session-en/intro.md b/tutorials/katacoda/command-session-en/intro.md index c27afd332..40983eb2e 100644 --- a/tutorials/katacoda/command-session-en/intro.md +++ b/tutorials/katacoda/command-session-en/intro.md @@ -7,5 +7,33 @@ `Arthas` supports JDK 6+, supports Linux/Mac/Windows. +## 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 +- Supports JDK 6+ +- Supports Linux/Mac/Windows + +This tutorial takes a simple application as an example to demonstrate the the usage of session. + * Github: https://github.com/alibaba/arthas -* Documentation: https://arthas.aliyun.com/doc/en \ No newline at end of file +* Documentation: https://arthas.aliyun.com/doc/en diff --git a/tutorials/katacoda/command-sysenv-cn/intro.md b/tutorials/katacoda/command-sysenv-cn/intro.md index ed8b4fedc..57909ea46 100644 --- a/tutorials/katacoda/command-sysenv-cn/intro.md +++ b/tutorials/katacoda/command-sysenv-cn/intro.md @@ -17,7 +17,7 @@ - 有什么办法可以监控到JVM的实时运行状态? - 怎么快速定位应用的热点,生成火焰图? -本教程会以一个普通的Spring Boot应用为例,演示sysenv命令。 +本教程会以一个简单的应用为例,演示sysenv命令。 * Github: https://github.com/alibaba/arthas * 文档: https://arthas.aliyun.com/doc/ diff --git a/tutorials/katacoda/command-sysenv-en/intro.md b/tutorials/katacoda/command-sysenv-en/intro.md index ae9f13813..a58bedf05 100644 --- a/tutorials/katacoda/command-sysenv-en/intro.md +++ b/tutorials/katacoda/command-sysenv-en/intro.md @@ -33,7 +33,7 @@ Arthas is built to solve these issues. A developer can troubleshoot production i - Supports JDK 6+ - Supports Linux/Mac/Windows -This tutorial takes a normal Spring Boot application as an example to demonstrate the the usage of sysenv. +This tutorial takes a simple application as an example to demonstrate the the usage of sysenv. * Github: https://github.com/alibaba/arthas * Docs: https://arthas.aliyun.com/doc/ diff --git a/tutorials/katacoda/command-sysprop-cn/intro.md b/tutorials/katacoda/command-sysprop-cn/intro.md index 9ba6cae33..1d576a0f1 100644 --- a/tutorials/katacoda/command-sysprop-cn/intro.md +++ b/tutorials/katacoda/command-sysprop-cn/intro.md @@ -17,7 +17,7 @@ - 有什么办法可以监控到JVM的实时运行状态? - 怎么快速定位应用的热点,生成火焰图? -本教程会以一个普通的Spring Boot应用为例,演示sysprop命令。 +本教程会以一个简单的应用为例,演示sysprop命令。 * Github: https://github.com/alibaba/arthas * 文档: https://arthas.aliyun.com/doc/ diff --git a/tutorials/katacoda/command-sysprop-en/intro.md b/tutorials/katacoda/command-sysprop-en/intro.md index 58e071698..ce531ffe9 100644 --- a/tutorials/katacoda/command-sysprop-en/intro.md +++ b/tutorials/katacoda/command-sysprop-en/intro.md @@ -33,7 +33,7 @@ Arthas is built to solve these issues. A developer can troubleshoot production i - Supports JDK 6+ - Supports Linux/Mac/Windows -This tutorial takes a normal Spring Boot application as an example to demonstrate the the usage of sysprop. +This tutorial takes a simple application as an example to demonstrate the the usage of sysprop. * Github: https://github.com/alibaba/arthas * Docs: https://arthas.aliyun.com/doc/ diff --git a/tutorials/katacoda/command-tee-cn/intro.md b/tutorials/katacoda/command-tee-cn/intro.md index 305296638..fc9c88f9f 100644 --- a/tutorials/katacoda/command-tee-cn/intro.md +++ b/tutorials/katacoda/command-tee-cn/intro.md @@ -7,5 +7,17 @@ `Arthas` 支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 `Tab` 自动补全功能,进一步方便进行问题的定位和诊断。 +当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: + +- 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? +- 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? +- 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? +- 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! +- 是否有一个全局视角来查看系统的运行状况? +- 有什么办法可以监控到JVM的实时运行状态? +- 怎么快速定位应用的热点,生成火焰图? + +本教程会以一个简单的应用为例,演示tee命令。 + * Github: https://github.com/alibaba/arthas -* 文档: https://arthas.aliyun.com/doc/ \ No newline at end of file +* 文档: https://arthas.aliyun.com/doc/ diff --git a/tutorials/katacoda/command-tee-en/intro.md b/tutorials/katacoda/command-tee-en/intro.md index c27afd332..48cd32dd4 100644 --- a/tutorials/katacoda/command-tee-en/intro.md +++ b/tutorials/katacoda/command-tee-en/intro.md @@ -7,5 +7,33 @@ `Arthas` supports JDK 6+, supports Linux/Mac/Windows. +## 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 +- Supports JDK 6+ +- Supports Linux/Mac/Windows + +This tutorial takes a simple application as an example to demonstrate the the usage of tee. + * Github: https://github.com/alibaba/arthas -* Documentation: https://arthas.aliyun.com/doc/en \ No newline at end of file +* Documentation: https://arthas.aliyun.com/doc/en diff --git a/tutorials/katacoda/command-thread-cn/intro.md b/tutorials/katacoda/command-thread-cn/intro.md index d7fbe4691..20c450c55 100644 --- a/tutorials/katacoda/command-thread-cn/intro.md +++ b/tutorials/katacoda/command-thread-cn/intro.md @@ -17,7 +17,7 @@ - 有什么办法可以监控到JVM的实时运行状态? - 怎么快速定位应用的热点,生成火焰图? -本教程会以一个普通的Spring Boot应用为例,演示thread命令。 +本教程会以一个简单的应用为例,演示thread命令。 * Github: https://github.com/alibaba/arthas * 文档: https://arthas.aliyun.com/doc/ diff --git a/tutorials/katacoda/command-thread-en/intro.md b/tutorials/katacoda/command-thread-en/intro.md index c1248dda7..904791765 100644 --- a/tutorials/katacoda/command-thread-en/intro.md +++ b/tutorials/katacoda/command-thread-en/intro.md @@ -33,7 +33,7 @@ Arthas is built to solve these issues. A developer can troubleshoot production i - Supports JDK 6+ - Supports Linux/Mac/Windows -This tutorial takes a normal Spring Boot application as an example to demonstrate the the usage of thread. +This tutorial takes a simple application as an example to demonstrate the the usage of thread. * Github: https://github.com/alibaba/arthas * Docs: https://arthas.aliyun.com/doc/ diff --git a/tutorials/katacoda/command-version-cn/intro.md b/tutorials/katacoda/command-version-cn/intro.md index 305296638..028fec0c8 100644 --- a/tutorials/katacoda/command-version-cn/intro.md +++ b/tutorials/katacoda/command-version-cn/intro.md @@ -7,5 +7,17 @@ `Arthas` 支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 `Tab` 自动补全功能,进一步方便进行问题的定位和诊断。 +当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: + +- 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? +- 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? +- 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? +- 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! +- 是否有一个全局视角来查看系统的运行状况? +- 有什么办法可以监控到JVM的实时运行状态? +- 怎么快速定位应用的热点,生成火焰图? + +本教程会以一个简单的应用为例,演示version命令。 + * Github: https://github.com/alibaba/arthas -* 文档: https://arthas.aliyun.com/doc/ \ No newline at end of file +* 文档: https://arthas.aliyun.com/doc/ diff --git a/tutorials/katacoda/command-version-en/intro.md b/tutorials/katacoda/command-version-en/intro.md index c27afd332..1932a1051 100644 --- a/tutorials/katacoda/command-version-en/intro.md +++ b/tutorials/katacoda/command-version-en/intro.md @@ -7,5 +7,33 @@ `Arthas` supports JDK 6+, supports Linux/Mac/Windows. +## 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 +- Supports JDK 6+ +- Supports Linux/Mac/Windows + +This tutorial takes a simple application as an example to demonstrate the the usage of version. + * Github: https://github.com/alibaba/arthas -* Documentation: https://arthas.aliyun.com/doc/en \ No newline at end of file +* Documentation: https://arthas.aliyun.com/doc/en diff --git a/tutorials/katacoda/command-vmoption-cn/intro.md b/tutorials/katacoda/command-vmoption-cn/intro.md index 78253b84e..f107bc04d 100644 --- a/tutorials/katacoda/command-vmoption-cn/intro.md +++ b/tutorials/katacoda/command-vmoption-cn/intro.md @@ -17,7 +17,7 @@ - 有什么办法可以监控到JVM的实时运行状态? - 怎么快速定位应用的热点,生成火焰图? -本教程会以一个普通的Spring Boot应用为例,演示vmoption命令。 +本教程会以一个简单的应用为例,演示vmoption命令。 * Github: https://github.com/alibaba/arthas * 文档: https://arthas.aliyun.com/doc/ diff --git a/tutorials/katacoda/command-vmoption-en/intro.md b/tutorials/katacoda/command-vmoption-en/intro.md index 18ea0758d..b5d31d289 100644 --- a/tutorials/katacoda/command-vmoption-en/intro.md +++ b/tutorials/katacoda/command-vmoption-en/intro.md @@ -33,7 +33,7 @@ Arthas is built to solve these issues. A developer can troubleshoot production i - Supports JDK 6+ - Supports Linux/Mac/Windows -This tutorial takes a normal Spring Boot application as an example to demonstrate the the usage of vmoption. +This tutorial takes a simple application as an example to demonstrate the the usage of vmoption. * Github: https://github.com/alibaba/arthas * Docs: https://arthas.aliyun.com/doc/