diff --git a/site/docs/doc/async.md b/site/docs/doc/async.md index 23f1a572dd..6bfc8e4a57 100644 --- a/site/docs/doc/async.md +++ b/site/docs/doc/async.md @@ -1,6 +1,6 @@ # Arthas 后台异步任务 -[`后台异步任务`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials?language=cn&id=case-async-jobs) +[`后台异步任务`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=async-jobs) arthas 中的后台异步任务,使用了仿 linux 系统任务相关的命令。[linux 任务相关介绍](https://ehlxr.me/2017/01/18/Linux-%E4%B8%AD-fg%E3%80%81bg%E3%80%81jobs%E3%80%81-%E6%8C%87%E4%BB%A4/)。 diff --git a/site/docs/doc/cat.md b/site/docs/doc/cat.md index 0a3ae34d89..bce4ba3fc7 100644 --- a/site/docs/doc/cat.md +++ b/site/docs/doc/cat.md @@ -1,6 +1,6 @@ # cat -[`cat`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=command-cat) +[`cat`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=cat) ::: tip 打印文件内容,和 linux 里的 cat 命令类似。 diff --git a/site/docs/doc/classloader.md b/site/docs/doc/classloader.md index 0871a00bcc..e5670695ec 100644 --- a/site/docs/doc/classloader.md +++ b/site/docs/doc/classloader.md @@ -1,6 +1,6 @@ # classloader -[`classloader`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials?language=cn&id=command-classloader) +[`classloader`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials?language=cn&id=classloader) ::: tip 查看 classloader 的继承树,urls,类加载信息 diff --git a/site/docs/doc/dashboard.md b/site/docs/doc/dashboard.md index c367c36aba..c329ca1b63 100644 --- a/site/docs/doc/dashboard.md +++ b/site/docs/doc/dashboard.md @@ -1,12 +1,12 @@ # dashboard -[`dashboard`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=command-dashboard) +[`dashboard`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=dashboard) ::: tip 当前系统的实时数据面板,按 ctrl+c 退出。 ::: -当运行在 Ali-tomcat 时,会显示当前 tomcat 的实时信息,如 HTTP 请求的 qps, rt, 错误数, 线程池信息等等。 +当运行在 Ali-tomcat 时,会显示当前 tomcat 的实时信息,如 HTTP 请求的 qps, rt, 错误数,线程池信息等等。 ## 参数说明 @@ -57,7 +57,7 @@ uptime 272s - ID: Java 级别的线程 ID,注意这个 ID 不能跟 jstack 中的 nativeID 一一对应。 - NAME: 线程名 - GROUP: 线程组名 -- PRIORITY: 线程优先级, 1~10 之间的数字,越大表示优先级越高 +- PRIORITY: 线程优先级,1~10 之间的数字,越大表示优先级越高 - STATE: 线程的状态 - CPU%: 线程的 cpu 使用率。比如采样间隔 1000ms,某个线程的增量 cpu 时间为 100ms,则 cpu 使用率=100/1000=10% - DELTA_TIME: 上次采样之后线程运行增量 CPU 时间,数据格式为`秒` @@ -67,17 +67,17 @@ uptime 272s ### JVM 内部线程 -Java 8 之后支持获取 JVM 内部线程 CPU 时间,这些线程只有名称和 CPU 时间,没有 ID 及状态等信息(显示 ID 为-1)。 +Java 8 之后支持获取 JVM 内部线程 CPU 时间,这些线程只有名称和 CPU 时间,没有 ID 及状态等信息(显示 ID 为 -1)。 通过内部线程可以观测到 JVM 活动,如 GC、JIT 编译等占用 CPU 情况,方便了解 JVM 整体运行状况。 -- 当 JVM 堆(heap)/元数据(metaspace)空间不足或 OOM 时,可以看到 GC 线程的 CPU 占用率明显高于其他的线程。 +- 当 JVM 堆 (heap)/元数据 (metaspace) 空间不足或 OOM 时,可以看到 GC 线程的 CPU 占用率明显高于其他的线程。 - 当执行`trace/watch/tt/redefine`等命令后,可以看到 JIT 线程活动变得更频繁。因为 JVM 热更新 class 字节码时清除了此 class 相关的 JIT 编译结果,需要重新编译。 JVM 内部线程包括下面几种: -- JIT 编译线程: 如 `C1 CompilerThread0`, `C2 CompilerThread0` -- GC 线程: 如`GC Thread0`, `G1 Young RemSet Sampling` -- 其它内部线程: 如`VM Periodic Task Thread`, `VM Thread`, `Service Thread` +- JIT 编译线程:如 `C1 CompilerThread0`, `C2 CompilerThread0` +- GC 线程:如`GC Thread0`, `G1 Young RemSet Sampling` +- 其它内部线程:如`VM Periodic Task Thread`, `VM Thread`, `Service Thread` ## 截图展示 diff --git a/site/docs/doc/dump.md b/site/docs/doc/dump.md index f51058f986..b20d694510 100644 --- a/site/docs/doc/dump.md +++ b/site/docs/doc/dump.md @@ -1,6 +1,6 @@ # dump -[`dump`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials?language=cn&id=command-dump) +[`dump`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=dump) ::: tip dump 已加载类的 bytecode 到特定目录 @@ -60,6 +60,6 @@ $ dump --classLoaderClass sun.misc.Launcher$AppClassLoader demo.* Affect(row-cnt:1) cost in 39 ms. ``` -- 注: 这里 classLoaderClass 在 java 8 是 sun.misc.Launcher$AppClassLoader,而java 11的classloader是jdk.internal.loader.ClassLoaders$AppClassLoader,katacoda 目前环境是 java8。 +- 注:这里 classLoaderClass 在 java 8 是 sun.misc.Launcher$AppClassLoader,而 java 11 的 classloader 是 jdk.internal.loader.ClassLoaders$AppClassLoader,katacoda 目前环境是 java8。 `--classLoaderClass` 的值是 ClassLoader 的类名,只有匹配到唯一的 ClassLoader 实例时才能工作,目的是方便输入通用命令,而`-c `是动态变化的。 diff --git a/site/docs/doc/echo.md b/site/docs/doc/echo.md index 702dbe55ed..cd3907596e 100644 --- a/site/docs/doc/echo.md +++ b/site/docs/doc/echo.md @@ -1,6 +1,6 @@ # echo -[`echo`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=command-echo) +[`echo`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=echo) ::: tip 打印参数,和 linux 里的 echo 命令类似。 diff --git a/site/docs/doc/getstatic.md b/site/docs/doc/getstatic.md index 2716ba4ed9..6b6c4c855f 100644 --- a/site/docs/doc/getstatic.md +++ b/site/docs/doc/getstatic.md @@ -1,6 +1,6 @@ # getstatic -[`getstatic`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=command-getstatic) +[`getstatic`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=getstatic) ### 使用参考 @@ -44,7 +44,7 @@ $ getstatic -c 3d4eac69 demo.MathGame random `getstatic --classLoaderClass sun.misc.Launcher$AppClassLoader demo.MathGame random` -- 注: 这里 classLoaderClass 在 java 8 是 sun.misc.Launcher$AppClassLoader,而java 11的classloader是jdk.internal.loader.ClassLoaders$AppClassLoader,katacoda 目前环境是 java8。 +- 注:这里 classLoaderClass 在 java 8 是 sun.misc.Launcher$AppClassLoader,而 java 11 的 classloader 是 jdk.internal.loader.ClassLoaders$AppClassLoader,katacoda 目前环境是 java8。 `--classLoaderClass` 的值是 ClassLoader 的类名,只有匹配到唯一的 ClassLoader 实例时才能工作,目的是方便输入通用命令,而`-c `是动态变化的。 diff --git a/site/docs/doc/grep.md b/site/docs/doc/grep.md index 81ec7ebae1..bec0a67417 100644 --- a/site/docs/doc/grep.md +++ b/site/docs/doc/grep.md @@ -1,6 +1,6 @@ # grep -[`grep`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=command-grep) +[`grep`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=grep) ::: tip 类似传统的`grep`命令。 diff --git a/site/docs/doc/heapdump.md b/site/docs/doc/heapdump.md index 1e7827cd1c..9ab59b6523 100644 --- a/site/docs/doc/heapdump.md +++ b/site/docs/doc/heapdump.md @@ -1,6 +1,6 @@ # heapdump -[`heapdump`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=command-heapdump) +[`heapdump`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=heapdump) ::: tip dump java heap, 类似 jmap 命令的 heap dump 功能。 @@ -17,7 +17,7 @@ Heap dump file created ``` ::: tip -生成文件在`arthas-output`目录,可以通过浏览器下载: http://localhost:8563/arthas-output/ +生成文件在`arthas-output`目录,可以通过浏览器下载:http://localhost:8563/arthas-output/ ::: ### 只 dump live 对象 diff --git a/site/docs/doc/http-api.md b/site/docs/doc/http-api.md index d5f721af54..8a395a6fa4 100644 --- a/site/docs/doc/http-api.md +++ b/site/docs/doc/http-api.md @@ -1,6 +1,6 @@ # Http API -[`Http API`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=case-http-api) +[`Http API`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=http-api) ## 概览 @@ -35,9 +35,9 @@ Http API 接口地址为:`http://ip:port/api`,必须使用 POST 方式提交 - `sessionId` : Arthas 会话 ID,一次性命令不需要设置会话 ID。 - `consumerId` : Arthas 消费者 ID,用于多人共享会话。 - `command` : Arthas command line 。 -- `execTimeout` : 命令同步执行的超时时间(ms),默认为 30000。 +- `execTimeout` : 命令同步执行的超时时间 (ms),默认为 30000。 -注意: 不同的 action 使用到参数不同,根据具体的 action 来设置参数。 +注意:不同的 action 使用到参数不同,根据具体的 action 来设置参数。 ### 请求 Action @@ -152,7 +152,7 @@ curl -Ss -XPOST http://localhost:8563/api -d ' 由用户创建及管理 Arthas 会话,适用于复杂的交互过程。访问流程如下: - 创建会话 -- 加入会话(可选) +- 加入会话 (可选) - 拉取命令结果 - 执行一系列命令 - 中断命令执行 @@ -178,7 +178,7 @@ curl -Ss -XPOST http://localhost:8563/api -d ' } ``` -当前会话 ID 为: `b09f1353-202c-407b-af24-701b744f971e`, 当前消费者 ID 为:`5ae4e5fbab8b4e529ac404f260d4e2d1_1 `。 +当前会话 ID 为: `b09f1353-202c-407b-af24-701b744f971e`,当前消费者 ID 为:`5ae4e5fbab8b4e529ac404f260d4e2d1_1 `。 ### 加入会话 @@ -222,7 +222,7 @@ curl -Ss -XPOST http://localhost:8563/api -d ' ' ``` -用 Bash 脚本定时拉取结果消息: +用 Bash 脚本定时拉取结果消息: ```bash while true; do curl -Ss -XPOST http://localhost:8563/api -d ' @@ -480,7 +480,7 @@ curl -Ss -XPOST http://localhost:8563/api -d ''' `type`为`status`表示命令执行状态: 每个命令执行结束后都有唯一一个 status 结果。`statusCode` -为 0 表示执行成功,`statusCode` 为非 0 值表示执行失败,类似进程退出码(exit code)。 +为 0 表示执行成功,`statusCode` 为非 0 值表示执行失败,类似进程退出码 (exit code)。 命令执行失败时一般会提供错误消息,如: @@ -585,7 +585,7 @@ classpath: demo-arthas-spring-boot.jar 注意: -- `echo $json_data | tr -d '\n'` : 删除换行符(`line.separator`的值),避免影响`sed`/`json_pp`命令处理。 +- `echo $json_data | tr -d '\n'` : 删除换行符 (`line.separator`的值),避免影响`sed`/`json_pp`命令处理。 - `awk -F'"' '{ print $4 }'` : 使用双引号作为分隔符号 diff --git a/site/docs/doc/jad.md b/site/docs/doc/jad.md index 980c61b5a9..ffba2261e3 100644 --- a/site/docs/doc/jad.md +++ b/site/docs/doc/jad.md @@ -1,6 +1,6 @@ # jad -[`jad`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials?language=cn&id=command-jad) +[`jad`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=jad) ::: tip 反编译指定已加载类的源码 diff --git a/site/docs/doc/jfr.md b/site/docs/doc/jfr.md index 5b66d98d43..a4f3529257 100644 --- a/site/docs/doc/jfr.md +++ b/site/docs/doc/jfr.md @@ -1,16 +1,16 @@ # jfr -[`jfr`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=command-jfr) +[`jfr`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=jfr) ::: tip Java Flight Recorder (JFR) 是一种用于收集有关正在运行的 Java 应用程序的诊断和分析数据的工具。它集成到 Java 虚拟机 (JVM) 中,几乎不会造成性能开销,因此即使在负载较重的生产环境中也可以使用。 ::: -`jfr` 命令支持在程序动态运行过程中开启和关闭 JFR 记录。 记录收集有关 event 的数据。事件在特定时间点发生在 JVM 或 Java 应用程序中。每个事件都有一个名称、一个时间戳和一个可选的有效负载。负载是与事件相关的数据,例如 CPU 使用率、事件前后的 Java 堆大小、锁持有者的线程 ID 等。 +`jfr` 命令支持在程序动态运行过程中开启和关闭 JFR 记录。记录收集有关 event 的数据。事件在特定时间点发生在 JVM 或 Java 应用程序中。每个事件都有一个名称、一个时间戳和一个可选的有效负载。负载是与事件相关的数据,例如 CPU 使用率、事件前后的 Java 堆大小、锁持有者的线程 ID 等。 `jfr` 命令基本运行结构是 `jfr cmd [actionArg]` -> 注意: JDK8 的 8u262 版本之后才支持 jfr +> 注意:JDK8 的 8u262 版本之后才支持 jfr ## 参数说明 @@ -26,7 +26,7 @@ Java Flight Recorder (JFR) 是一种用于收集有关正在运行的 Java 应 | [s:] | 采集 Event 的详细配置文件,默认是 default.jfc 位于 `$JAVA_HOME/lib/jfr/default.jfc` | | [f:] | 将输出转储到指定路径 | | [maxage:] | 缓冲区数据最大文件记录保存时间,支持单位配置,不带单位就是秒,默认是不限制 | -| [maxsize:] | 缓冲区的最大文件大小,支持单位配置, 不带单位是字节,m 或者 M 代表 MB,g 或者 G 代表 GB。 | +| [maxsize:] | 缓冲区的最大文件大小,支持单位配置,不带单位是字节,m 或者 M 代表 MB,g 或者 G 代表 GB。 | | [state:] | jfr 记录状态 | ## 启动 JFR 记录 @@ -113,4 +113,4 @@ Stop recording 1, The result will be written to: 生成的结果可以用支持 jfr 格式的工具来查看。比如: -- JDK Mission Control : https://github.com/openjdk/jmc +- JDK Mission Control : https://github.com/openjdk/jmc diff --git a/site/docs/doc/jvm.md b/site/docs/doc/jvm.md index 18796374e6..7521cad319 100644 --- a/site/docs/doc/jvm.md +++ b/site/docs/doc/jvm.md @@ -1,6 +1,6 @@ # jvm -[`jvm`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=command-jvm) +[`jvm`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=jvm) ::: tip 查看当前 JVM 信息 diff --git a/site/docs/doc/keymap.md b/site/docs/doc/keymap.md index 3fb51666a9..15a6d39b8b 100644 --- a/site/docs/doc/keymap.md +++ b/site/docs/doc/keymap.md @@ -1,6 +1,6 @@ # keymap -[`keymap`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=command-keymap) +[`keymap`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=keymap) `keymap`命令输出当前的快捷键映射表: diff --git a/site/docs/doc/logger.md b/site/docs/doc/logger.md index 86bf30f983..b30c673204 100644 --- a/site/docs/doc/logger.md +++ b/site/docs/doc/logger.md @@ -1,6 +1,6 @@ # logger -[`logger`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials?language=cn&id=command-logger) +[`logger`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=logger) ::: tip 查看 logger 信息,更新 logger level @@ -133,7 +133,7 @@ `logger --classLoaderClass sun.misc.Launcher$AppClassLoader` -- 注: 这里 classLoaderClass 在 java 8 是 sun.misc.Launcher$AppClassLoader,而java 11的classloader是jdk.internal.loader.ClassLoaders$AppClassLoader。 +- 注:这里 classLoaderClass 在 java 8 是 sun.misc.Launcher$AppClassLoader,而 java 11 的 classloader 是 jdk.internal.loader.ClassLoaders$AppClassLoader。 `--classLoaderClass` 的值是 ClassLoader 的类名,只有匹配到唯一的 ClassLoader 实例时才能工作,目的是方便输入通用命令,而`-c `是动态变化的。 diff --git a/site/docs/doc/mbean.md b/site/docs/doc/mbean.md index 4980ed7760..ac272dee72 100644 --- a/site/docs/doc/mbean.md +++ b/site/docs/doc/mbean.md @@ -1,6 +1,6 @@ # mbean -[`mbean`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=command-mbean) +[`mbean`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=mbean) ::: tip 查看 Mbean 的信息 diff --git a/site/docs/doc/mc.md b/site/docs/doc/mc.md index ee0713b026..1721d04164 100644 --- a/site/docs/doc/mc.md +++ b/site/docs/doc/mc.md @@ -1,6 +1,6 @@ # mc -[`mc-retransform`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials?language=cn&id=command-mc-retransform) +[`mc-retransform`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=mc-retransform) ## 使用参考 diff --git a/site/docs/doc/monitor.md b/site/docs/doc/monitor.md index 0d71db6888..eba2d43180 100644 --- a/site/docs/doc/monitor.md +++ b/site/docs/doc/monitor.md @@ -1,6 +1,6 @@ # monitor -[`monitor`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=command-monitor) +[`monitor`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=monitor) ::: tip 方法执行监控 @@ -8,7 +8,7 @@ 对匹配 `class-pattern`/`method-pattern`/`condition-express`的类、方法的调用进行监控。 -`monitor` 命令是一个非实时返回命令. +`monitor` 命令是一个非实时返回命令。 实时返回命令是输入之后立即返回,而非实时返回的命令,则是不断的等待目标 Java 进程返回信息,直到用户输入 `Ctrl+C` 为止。 @@ -87,7 +87,7 @@ Affect(class count:1 , method count:1) cost in 384 ms, listenerId: 6. 2022-12-25 21:12:59 demo.MathGame primeFactors 0 0 0 0.00 0.00% ``` -### 计算条件表达式过滤统计结果(方法执行完毕之后) +### 计算条件表达式过滤统计结果 (方法执行完毕之后) ```bash monitor -c 5 demo.MathGame primeFactors "params[0] <= 2" @@ -114,7 +114,7 @@ Affect(class count: 1 , method count: 1) cost in 19 ms, listenerId: 5 2020-09-02 09:42:56 demo.MathGame primeFactors 5 3 2 0.15 40.00% ``` -### 计算条件表达式过滤统计结果(方法执行完毕之前) +### 计算条件表达式过滤统计结果 (方法执行完毕之前) ```bash monitor -b -c 5 com.test.testes.MathGame primeFactors "params[0] <= 2" diff --git a/site/docs/doc/ognl.md b/site/docs/doc/ognl.md index 62acaeddb0..0c99c306b2 100644 --- a/site/docs/doc/ognl.md +++ b/site/docs/doc/ognl.md @@ -1,6 +1,6 @@ # ognl -[`ognl`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials?language=cn&id=command-ognl) +[`ognl`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=ognl) ::: tip 执行 ognl 表达式 diff --git a/site/docs/doc/options.md b/site/docs/doc/options.md index 910ed72818..20f8932341 100644 --- a/site/docs/doc/options.md +++ b/site/docs/doc/options.md @@ -1,6 +1,6 @@ # options -[`options`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=command-options) +[`options`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=options) ::: tip 全局开关 @@ -13,7 +13,7 @@ | batch-re-transform | true | 是否支持批量对匹配到的类执行 retransform 操作 | | json-format | false | 是否支持 json 化的输出 | | disable-sub-class | false | 是否禁用子类匹配,默认在匹配目标类的时候会默认匹配到其子类,如果想精确匹配,可以关闭此开关 | -| support-default-method | true | 是否支持匹配到 default method, 默认会查找 interface,匹配里面的 default method。参考 [#1105](https://github.com/alibaba/arthas/issues/1105) | +| support-default-method | true | 是否支持匹配到 default method,默认会查找 interface,匹配里面的 default method。参考 [#1105](https://github.com/alibaba/arthas/issues/1105) | | save-result | false | 是否打开执行结果存日志功能,打开之后所有命令的运行结果都将保存到`~/logs/arthas-cache/result.log`中 | | job-timeout | 1d | 异步后台任务的默认超时时间,超过这个时间,任务自动停止;比如设置 1d, 2h, 3m, 25s,分别代表天、小时、分、秒 | | print-parent-fields | true | 是否打印在 parent class 里的 filed | @@ -130,4 +130,4 @@ watch failed, condition is: target.illegalArgumentCount=1, express is: target, B 用户如果确定要在`ognl`表达式里更新对象,可以执行`options strict false`,关闭`strict`模式。 -- 更多信息参考: https://github.com/alibaba/arthas/issues/2128 +- 更多信息参考:https://github.com/alibaba/arthas/issues/2128 diff --git a/site/docs/doc/perfcounter.md b/site/docs/doc/perfcounter.md index 9343d59b79..ac10220d6f 100644 --- a/site/docs/doc/perfcounter.md +++ b/site/docs/doc/perfcounter.md @@ -1,6 +1,6 @@ # perfcounter -[`perfcounter`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=command-perfcounter) +[`perfcounter`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=perfcounter) ::: tip 查看当前 JVM 的 Perf Counter 信息 diff --git a/site/docs/doc/profiler.md b/site/docs/doc/profiler.md index ee817cf0de..990bfe34cd 100644 --- a/site/docs/doc/profiler.md +++ b/site/docs/doc/profiler.md @@ -1,6 +1,6 @@ # profiler -[`profiler`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=command-profiler) +[`profiler`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=profiler) ::: tip 使用[async-profiler](https://github.com/jvm-profiling-tools/async-profiler)生成火焰图 @@ -177,13 +177,13 @@ profiler start --framebuf 5000000 ## 配置 include/exclude 来过滤数据 -如果应用比较复杂,生成的内容很多,想只关注部分 stack traces,可以通过 `--include/--exclude` 过滤 stack traces,`--include` 表示定义的匹配表达式必须出现在 stack traces,相反 `--exclude` 表示定义的匹配表达式一定不会出现在 stack traces。 匹配表达式可以以`*`开始或者结束,`*` 表示任何(可能为空)字符序列。 比如 +如果应用比较复杂,生成的内容很多,想只关注部分 stack traces,可以通过 `--include/--exclude` 过滤 stack traces,`--include` 表示定义的匹配表达式必须出现在 stack traces,相反 `--exclude` 表示定义的匹配表达式一定不会出现在 stack traces。匹配表达式可以以`*`开始或者结束,`*` 表示任何(可能为空)字符序列。比如 ```bash profiler start --include 'java/*' --include 'com/demo/*' --exclude '*Unsafe.park*' ``` -> `--include/--exclude` 都支持设置多个值 ,但是需要配置在命令行的最后。 +> `--include/--exclude` 都支持设置多个值,但是需要配置在命令行的最后。 ## 指定执行时间 @@ -208,8 +208,8 @@ profiler start --file /tmp/test.jfr 生成的结果可以用支持 jfr 格式的工具来查看。比如: -- JDK Mission Control : https://github.com/openjdk/jmc -- JProfiler : https://github.com/alibaba/arthas/issues/1416 +- JDK Mission Control : https://github.com/openjdk/jmc +- JProfiler : https://github.com/alibaba/arthas/issues/1416 ## 生成的火焰图里的 unknown diff --git a/site/docs/doc/pwd.md b/site/docs/doc/pwd.md index 4d9aa05539..375372f776 100644 --- a/site/docs/doc/pwd.md +++ b/site/docs/doc/pwd.md @@ -1,6 +1,6 @@ # pwd -[`pwd`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=command-pwd) +[`pwd`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=pwd) ::: tip 返回当前的工作目录,和 linux 命令类似 diff --git a/site/docs/doc/redefine.md b/site/docs/doc/redefine.md index 3895b13fb0..82431c49d7 100644 --- a/site/docs/doc/redefine.md +++ b/site/docs/doc/redefine.md @@ -4,7 +4,7 @@ 推荐使用 [retransform](retransform.md) 命令 ::: -[`mc-redefine`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials?language=cn&id=command-mc-redefine) +[`mc-redefine`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=mc-redefine) ::: tip 加载外部的`.class`文件,redefine jvm 已加载的类。 @@ -25,7 +25,7 @@ - 目前 redefine 和 watch/trace/jad/tt 等命令冲突,以后重新实现 redefine 功能会解决此问题 ::: warning -注意, redefine 后的原来的类不能恢复,redefine 有可能失败(比如增加了新的 field),参考 jdk 本身的文档。 +注意,redefine 后的原来的类不能恢复,redefine 有可能失败(比如增加了新的 field),参考 jdk 本身的文档。 ::: ::: tip @@ -98,13 +98,13 @@ public class MathGame { while (true) { game.run(); TimeUnit.SECONDS.sleep(1); - // 这个不生效,因为代码一直跑在 while里 + // 这个不生效,因为代码一直跑在 while 里 System.out.println("in loop"); } } public void run() throws InterruptedException { - // 这个生效,因为run()函数每次都可以完整结束 + // 这个生效,因为 run() 函数每次都可以完整结束 System.out.println("call run()"); try { int number = random.nextInt(); diff --git a/site/docs/doc/reset.md b/site/docs/doc/reset.md index e5d0c12671..9c7e9b3825 100644 --- a/site/docs/doc/reset.md +++ b/site/docs/doc/reset.md @@ -1,6 +1,6 @@ # reset -[`reset`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=command-reset) +[`reset`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=reset) ::: tip 重置增强类,将被 Arthas 增强过的类全部还原,Arthas 服务端`stop`时会重置所有增强过的类 diff --git a/site/docs/doc/retransform.md b/site/docs/doc/retransform.md index 53f4217480..4f55938abd 100644 --- a/site/docs/doc/retransform.md +++ b/site/docs/doc/retransform.md @@ -1,6 +1,6 @@ # retransform -[`mc-retransform`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials?language=cn&id=command-mc-retransform) +[`mc-retransform`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=mc-retransform) ::: tip 加载外部的`.class`文件,retransform jvm 已加载的类。 @@ -66,7 +66,7 @@ retransform success, size: 1, classes: demo.MathGame ``` -> 注意:对于同一个类,当存在多个 retransform entry 时,如果显式触发 retransform ,则最后添加的 entry 生效(id 最大的)。 +> 注意:对于同一个类,当存在多个 retransform entry 时,如果显式触发 retransform,则最后添加的 entry 生效 (id 最大的)。 ## 消除 retransform 的影响 @@ -76,7 +76,7 @@ demo.MathGame - 重新触发 retransform ::: tip -如果不清除掉所有的 retransform entry,并重新触发 retransform ,则 arthas stop 时,retransform 过的类仍然生效。 +如果不清除掉所有的 retransform entry,并重新触发 retransform,则 arthas stop 时,retransform 过的类仍然生效。 ::: ## 结合 jad/mc 命令使用 @@ -125,13 +125,13 @@ public class MathGame { while (true) { game.run(); TimeUnit.SECONDS.sleep(1); - // 这个不生效,因为代码一直跑在 while里 + // 这个不生效,因为代码一直跑在 while 里 System.out.println("in loop"); } } public void run() throws InterruptedException { - // 这个生效,因为run()函数每次都可以完整结束 + // 这个生效,因为 run() 函数每次都可以完整结束 System.out.println("call run()"); try { int number = random.nextInt(); diff --git a/site/docs/doc/sc.md b/site/docs/doc/sc.md index 1484f39f05..6582e03622 100644 --- a/site/docs/doc/sc.md +++ b/site/docs/doc/sc.md @@ -1,12 +1,12 @@ # sc -[`sc`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials?language=cn&id=command-sc) +[`sc`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=sc) ::: tip 查看 JVM 已加载的类信息 ::: -“Search-Class” 的简写,这个命令能搜索出所有已经加载到 JVM 中的 Class 信息,这个命令支持的参数有 `[d]`、`[E]`、`[f]` 和 `[x:]`。 +“Search-Class”的简写,这个命令能搜索出所有已经加载到 JVM 中的 Class 信息,这个命令支持的参数有 `[d]`、`[E]`、`[f]` 和 `[x:]`。 ## 参数说明 @@ -107,7 +107,7 @@ sc 默认开启了子类匹配功能,也就是说所有当前类的子类也 Affect(row-cnt:1) cost in 19 ms. ``` -- 通过 ClassLoader#toString 查找类(前提:有一个 toString()返回值是`apo`的类加载器,加载的类中包含`demo.MathGame`, `demo.MyBar`,` demo.MyFoo`3 个类) +- 通过 ClassLoader#toString 查找类(前提:有一个 toString() 返回值是`apo`的类加载器,加载的类中包含`demo.MathGame`, `demo.MyBar`,` demo.MyFoo`3 个类) ```bash $ sc -cs apo *demo* diff --git a/site/docs/doc/sm.md b/site/docs/doc/sm.md index 438213248e..1c064f8c48 100644 --- a/site/docs/doc/sm.md +++ b/site/docs/doc/sm.md @@ -1,12 +1,12 @@ # sm -[`sm`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials?language=cn&id=command-sm) +[`sm`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=sm) ::: tip 查看已加载类的方法信息 ::: -“Search-Method” 的简写,这个命令能搜索出所有已经加载了 Class 信息的方法信息。 +“Search-Method”的简写,这个命令能搜索出所有已经加载了 Class 信息的方法信息。 `sm` 命令只能看到由当前类所声明 (declaring) 的方法,父类则无法看到。 diff --git a/site/docs/doc/stack.md b/site/docs/doc/stack.md index b640ec13e0..e6946e6016 100644 --- a/site/docs/doc/stack.md +++ b/site/docs/doc/stack.md @@ -1,6 +1,6 @@ # stack -[`stack`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=command-stack) +[`stack`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=stack) ::: tip 输出当前方法被调用的调用路径 diff --git a/site/docs/doc/sysenv.md b/site/docs/doc/sysenv.md index 8a73087a86..bee7d79f05 100644 --- a/site/docs/doc/sysenv.md +++ b/site/docs/doc/sysenv.md @@ -1,9 +1,9 @@ # sysenv -[`sysenv`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=command-sysenv) +[`sysenv`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=sysenv) ::: tip -查看当前 JVM 的环境属性(`System Environment Variables`) +查看当前 JVM 的环境属性 (`System Environment Variables`) ::: ## 使用参考 diff --git a/site/docs/doc/sysprop.md b/site/docs/doc/sysprop.md index 0412b4b626..881ccb6127 100644 --- a/site/docs/doc/sysprop.md +++ b/site/docs/doc/sysprop.md @@ -1,9 +1,9 @@ # sysprop -[`sysprop`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=command-sysprop) +[`sysprop`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=sysprop) ::: tip -查看当前 JVM 的系统属性(`System Property`) +查看当前 JVM 的系统属性 (`System Property`) ::: ## 使用参考 diff --git a/site/docs/doc/tee.md b/site/docs/doc/tee.md index d865191995..f415ac8962 100644 --- a/site/docs/doc/tee.md +++ b/site/docs/doc/tee.md @@ -1,9 +1,9 @@ # tee -[`tee`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=command-tee) +[`tee`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=tee) ::: tip -类似传统的`tee`命令, 用于读取标准输入的数据,并将其内容输出成文件。 +类似传统的`tee`命令,用于读取标准输入的数据,并将其内容输出成文件。 tee 指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。 ::: diff --git a/site/docs/doc/thread.md b/site/docs/doc/thread.md index 8e90274928..fe4be7f7a8 100644 --- a/site/docs/doc/thread.md +++ b/site/docs/doc/thread.md @@ -1,6 +1,6 @@ # thread -[`thread`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=command-thread) +[`thread`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=thread) ::: tip 查看当前线程信息,查看线程的堆栈 @@ -22,13 +22,13 @@ ### 工作原理说明: -- 首先第一次采样,获取所有线程的 CPU 时间(调用的是`java.lang.management.ThreadMXBean#getThreadCpuTime()`及`sun.management.HotspotThreadMBean.getInternalThreadCpuTimes()`接口) +- 首先第一次采样,获取所有线程的 CPU 时间 (调用的是`java.lang.management.ThreadMXBean#getThreadCpuTime()`及`sun.management.HotspotThreadMBean.getInternalThreadCpuTimes()`接口) - 然后睡眠等待一个间隔时间(默认为 200ms,可以通过`-i`指定间隔时间) - 再次第二次采样,获取所有线程的 CPU 时间,对比两次采样数据,计算出每个线程的增量 CPU 时间 - 线程 CPU 使用率 = 线程增量 CPU 时间 / 采样间隔时间 \* 100% ::: warning -注意: 这个统计也会产生一定的开销(JDK 这个接口本身开销比较大),因此会看到 as 的线程占用一定的百分比,为了降低统计自身的开销带来的影响,可以把采样间隔拉长一些,比如 5000 毫秒。 +注意:这个统计也会产生一定的开销(JDK 这个接口本身开销比较大),因此会看到 as 的线程占用一定的百分比,为了降低统计自身的开销带来的影响,可以把采样间隔拉长一些,比如 5000 毫秒。 ::: ::: tip @@ -119,7 +119,7 @@ $ thread 1 ### thread -b, 找出当前阻塞其他线程的线程 -有时候我们发现应用卡住了, 通常是由于某个线程拿住了某个锁, 并且其他线程都在等待这把锁造成的。 为了排查这类问题, arthas 提供了`thread -b`, 一键找出那个罪魁祸首。 +有时候我们发现应用卡住了,通常是由于某个线程拿住了某个锁,并且其他线程都在等待这把锁造成的。为了排查这类问题,arthas 提供了`thread -b`,一键找出那个罪魁祸首。 ```bash $ thread -b @@ -161,7 +161,7 @@ $ thread -b ``` ::: warning -注意, 目前只支持找出 synchronized 关键字阻塞住的线程, 如果是`java.util.concurrent.Lock`, 目前还不支持。 +注意,目前只支持找出 synchronized 关键字阻塞住的线程,如果是`java.util.concurrent.Lock`,目前还不支持。 ::: ### thread -i, 指定采样时间间隔 @@ -191,7 +191,7 @@ $ thread -n 3 -i 1000 ... ``` -### thread --state ,查看指定状态的线程 +### thread --state,查看指定状态的线程 ```bash [arthas@28114]$ thread --state WAITING diff --git a/site/docs/doc/trace.md b/site/docs/doc/trace.md index dc301ea8f8..12aa4d5370 100644 --- a/site/docs/doc/trace.md +++ b/site/docs/doc/trace.md @@ -1,6 +1,6 @@ # trace -[`trace`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=command-trace) +[`trace`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=trace) ::: tip 方法内部调用路径,并输出方法路径上的每个节点上耗时 @@ -151,7 +151,7 @@ Affect(class-cnt:1 , method-cnt:1) cost in 41 ms. 只会展示耗时大于 10ms 的调用路径,有助于在排查问题的时候,只关注异常情况 ::: -- 是不是很眼熟,没错,在 JProfiler 等收费软件中你曾经见识类似的功能,这里你将可以通过命令就能打印出指定调用路径。 友情提醒下,`trace` 在执行的过程中本身是会有一定的性能开销,在统计的报告中并未像 JProfiler 一样预先减去其自身的统计开销。所以这统计出来有些许的不准,渲染路径上调用的类、方法越多,性能偏差越大。但还是能让你看清一些事情的。 +- 是不是很眼熟,没错,在 JProfiler 等收费软件中你曾经见识类似的功能,这里你将可以通过命令就能打印出指定调用路径。友情提醒下,`trace` 在执行的过程中本身是会有一定的性能开销,在统计的报告中并未像 JProfiler 一样预先减去其自身的统计开销。所以这统计出来有些许的不准,渲染路径上调用的类、方法越多,性能偏差越大。但还是能让你看清一些事情的。 - [12.033735ms] 的含义,`12.033735` 的含义是:当前节点在当前步骤的耗时,单位为毫秒 - [0,0,0ms,11]xxx:yyy() [throws Exception],对该方法中相同的方法调用进行了合并,`0,0,0ms,11` 表示方法调用耗时,`min,max,total,count`;`throws Exception` 表明该方法调用中存在异常返回 - 这里存在一个统计不准确的问题,就是所有方法耗时加起来可能会小于该监测方法的总耗时,这个是由于 Arthas 本身的逻辑会有一定的耗时 diff --git a/site/docs/doc/tt.md b/site/docs/doc/tt.md index 13f2854774..9213c295a2 100644 --- a/site/docs/doc/tt.md +++ b/site/docs/doc/tt.md @@ -1,6 +1,6 @@ # tt -[`tt`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=command-tt) +[`tt`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=tt) ::: tip 方法执行数据的时空隧道,记录下指定方法每次调用的入参和返回信息,并能对这些不同的时间下调用进行观测 @@ -167,7 +167,7 @@ Affect(row-cnt:1) cost in 11 ms. 当你稍稍做了一些调整之后,你可能需要前端系统重新触发一次你的调用,此时得求爷爷告奶奶的需要前端配合联调的同学再次发起一次调用。而有些场景下,这个调用不是这么好触发的。 `tt` 命令由于保存了当时调用的所有现场信息,所以我们可以自己主动对一个 `INDEX` 编号的时间片自主发起一次调用,从而解放你的沟通成本。此时你需要 `-p` 参数。通过 `--replay-times` 指定 -调用次数,通过 `--replay-interval` 指定多次调用间隔(单位 ms, 默认 1000ms) +调用次数,通过 `--replay-interval` 指定多次调用间隔 (单位 ms, 默认 1000ms) ```bash $ tt -i 1004 -p @@ -223,7 +223,7 @@ Affect(class count: 1 , method count: 1) cost in 56 ms, listenerId: 1 @Integer[46] ``` -注意这里使用 `com.taobao.arthas.core.advisor.Advice#getLoader`加载,使用精确`classloader` [ognl](ognl.md)更好。 +注意这里使用 `com.taobao.arthas.core.advisor.Advice#getLoader`加载,使用精确`classloader` [ognl](ognl.md)更好。 高级用法 [获取 spring context 调用 bean 方法](https://github.com/alibaba/arthas/issues/482) diff --git a/site/docs/doc/tunnel.md b/site/docs/doc/tunnel.md index a1c5c4089f..3398034045 100644 --- a/site/docs/doc/tunnel.md +++ b/site/docs/doc/tunnel.md @@ -6,7 +6,7 @@ 在这种情况下,可以使用 Arthas Tunnel Server/Client。 -参考: +参考: - 1: [Web Console](web-console.md) - 2: [Arthas Spring Boot Starter](spring-boot-starter.md) @@ -115,7 +115,7 @@ Tunnel server 会以`_`做分隔符,提取出`appName`,方便按应用进行 在本地启动 tunnel-server,然后使用`as.sh` attach,并且指定应用名`--app-name test`: -``` +```bash $ as.sh --tunnel-server 'ws://127.0.0.1:7777/ws' --app-name test telnet connecting to arthas server... current timestamp is 1627539688 Trying 127.0.0.1... diff --git a/site/docs/doc/vmoption.md b/site/docs/doc/vmoption.md index 42690bf061..f031382e27 100644 --- a/site/docs/doc/vmoption.md +++ b/site/docs/doc/vmoption.md @@ -1,6 +1,6 @@ # vmoption -[`vmoption`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=command-vmoption) +[`vmoption`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=vmoption) ::: tip 查看,更新 VM 诊断相关的参数 diff --git a/site/docs/doc/vmtool.md b/site/docs/doc/vmtool.md index a173b65691..6620373612 100644 --- a/site/docs/doc/vmtool.md +++ b/site/docs/doc/vmtool.md @@ -4,7 +4,7 @@ @since 3.5.1 ::: -[`vmtool`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=command-vmtool) +[`vmtool`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=vmtool) `vmtool` 利用`JVMTI`接口,实现查询内存对象,强制 GC 等功能。 diff --git a/site/docs/doc/watch.md b/site/docs/doc/watch.md index 3f94a4ee31..0b0ffa5aeb 100644 --- a/site/docs/doc/watch.md +++ b/site/docs/doc/watch.md @@ -1,6 +1,6 @@ # watch -[`watch`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=command-watch) +[`watch`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=watch) ::: tip 函数执行数据观测 @@ -21,7 +21,7 @@ watch 的参数比较多,主要是因为它能在 4 个不同的场景观察 | [b] | 在**函数调用之前**观察 | | [e] | 在**函数异常之后**观察 | | [s] | 在**函数返回之后**观察 | -| [f] | 在**函数结束之后**(正常返回和异常返回)观察 | +| [f] | 在**函数结束之后**(正常返回和异常返回) 观察 | | [E] | 开启正则表达式匹配,默认为通配符匹配 | | [x:] | 指定输出结果的属性遍历深度,默认为 1,最大值是 4 | | `[m ]` | 指定 Class 最大匹配数量,默认值为 50。长格式为`[maxMatch ]`。 | @@ -253,7 +253,7 @@ ts=2018-12-03 19:40:28; [cost=2112.168897ms] result=@ArrayList[ ] ``` -- `#cost>200`(单位是`ms`)表示只有当耗时大于 200ms 时才会输出,过滤掉执行时间小于 200ms 的调用 +- `#cost>200`(单位是`ms`) 表示只有当耗时大于 200ms 时才会输出,过滤掉执行时间小于 200ms 的调用 ### 观察当前对象中的属性 @@ -294,7 +294,7 @@ ts=2021-01-05 21:35:20; [cost=0.173966ms] result=@ArrayList[ ] ``` -- 注意这里使用 `Thread.currentThread().getContextClassLoader()` 加载,使用精确`classloader` [ognl](ognl.md)更好。 +- 注意这里使用 `Thread.currentThread().getContextClassLoader()` 加载,使用精确`classloader` [ognl](ognl.md)更好。 ### 排除掉指定的类 diff --git a/site/docs/doc/web-console.md b/site/docs/doc/web-console.md index 755cccd54d..59d92e298a 100644 --- a/site/docs/doc/web-console.md +++ b/site/docs/doc/web-console.md @@ -1,6 +1,6 @@ # Web Console -[`Web Console`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=case-web-console) +[`Web Console`在线教程](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=web-console) ## 通过浏览器连接 arthas diff --git a/site/docs/en/doc/async.md b/site/docs/en/doc/async.md index a93cd21df6..d955effe57 100644 --- a/site/docs/en/doc/async.md +++ b/site/docs/en/doc/async.md @@ -1,6 +1,6 @@ # Arthas Async Jobs -[`Async Jobs` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials?language=en&id=case-async-jobs) +[`Async Jobs` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=async-jobs) Asynchronous jobs in arthas. The idea is borrowed from [linux jobs](http://man7.org/linux/man-pages/man1/jobs.1p.html). diff --git a/site/docs/en/doc/cat.md b/site/docs/en/doc/cat.md index 7179875a78..89a6f26e8f 100644 --- a/site/docs/en/doc/cat.md +++ b/site/docs/en/doc/cat.md @@ -1,6 +1,6 @@ # cat -[`cat` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-cat) +[`cat` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=cat) ::: tip Concatenate and print files diff --git a/site/docs/en/doc/classloader.md b/site/docs/en/doc/classloader.md index 7ba94174ae..b1e0cdfbb3 100644 --- a/site/docs/en/doc/classloader.md +++ b/site/docs/en/doc/classloader.md @@ -1,6 +1,6 @@ # classloader -[`classloader` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials?language=en&id=command-classloader) +[`classloader` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=classloader) ::: tip View hierarchy, urls and classes-loading info for the class-loaders. diff --git a/site/docs/en/doc/dashboard.md b/site/docs/en/doc/dashboard.md index 6cd283d1cc..d0b3160bcd 100644 --- a/site/docs/en/doc/dashboard.md +++ b/site/docs/en/doc/dashboard.md @@ -1,6 +1,6 @@ # dashboard -[`dashboard` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-dashboard) +[`dashboard` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=dashboard) ::: tip This is the real time statistics dashboard for the current system, press `Ctrl+C` to exit. diff --git a/site/docs/en/doc/dump.md b/site/docs/en/doc/dump.md index 17965f39cc..67d4a88e4e 100644 --- a/site/docs/en/doc/dump.md +++ b/site/docs/en/doc/dump.md @@ -1,6 +1,6 @@ # dump -[`dump` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials?language=en&id=command-dump) +[`dump` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=dump) ::: tip Dump the bytecode for the particular classes to the specified directory. diff --git a/site/docs/en/doc/echo.md b/site/docs/en/doc/echo.md index 90fe16a14f..63657b71b5 100644 --- a/site/docs/en/doc/echo.md +++ b/site/docs/en/doc/echo.md @@ -1,6 +1,6 @@ # echo -[`echo` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-echo) +[`echo` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=echo) ::: tip write arguments to the standard output. diff --git a/site/docs/en/doc/getstatic.md b/site/docs/en/doc/getstatic.md index 85826d8667..f2de1dc442 100644 --- a/site/docs/en/doc/getstatic.md +++ b/site/docs/en/doc/getstatic.md @@ -1,6 +1,6 @@ # getstatic -[`getstatic` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-getstatic) +[`getstatic` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=getstatic) ## Usage diff --git a/site/docs/en/doc/grep.md b/site/docs/en/doc/grep.md index bea8e58c48..2117f4aed9 100644 --- a/site/docs/en/doc/grep.md +++ b/site/docs/en/doc/grep.md @@ -1,6 +1,6 @@ # grep -[`grep` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-grep) +[`grep` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=grep) ::: tip Similar to the traditional `grep` command. diff --git a/site/docs/en/doc/heapdump.md b/site/docs/en/doc/heapdump.md index 9bdcf54958..fb58e93eb7 100644 --- a/site/docs/en/doc/heapdump.md +++ b/site/docs/en/doc/heapdump.md @@ -1,6 +1,6 @@ # heapdump -[`heapdump` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-heapdump) +[`heapdump` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=heapdump) ::: tip dump java heap in hprof binary format, like `jmap`. diff --git a/site/docs/en/doc/http-api.md b/site/docs/en/doc/http-api.md index 1afbe91752..a5460c6ad2 100644 --- a/site/docs/en/doc/http-api.md +++ b/site/docs/en/doc/http-api.md @@ -1,6 +1,6 @@ # Http API -[`Http API` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=case-http-api) +[`Http API` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=http-api) ## Overview diff --git a/site/docs/en/doc/jad.md b/site/docs/en/doc/jad.md index 0c611849dc..2014aea6e9 100644 --- a/site/docs/en/doc/jad.md +++ b/site/docs/en/doc/jad.md @@ -1,6 +1,6 @@ # jad -[`jad` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials?language=en&id=command-jad) +[`jad` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=jad) ::: tip Decompile the specified classes. diff --git a/site/docs/en/doc/jfr.md b/site/docs/en/doc/jfr.md index e905825624..0c44848063 100644 --- a/site/docs/en/doc/jfr.md +++ b/site/docs/en/doc/jfr.md @@ -1,6 +1,6 @@ # jfr -[`jfr` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-jfr) +[`jfr` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=jfr) ::: tip Java Flight Recorder (JFR) is a tool for collecting diagnostic and profiling data about a running Java application. It is integrated into the Java Virtual Machine (JVM) and causes almost no performance overhead, so it can be used even in heavily loaded production environments. @@ -113,4 +113,4 @@ By default, arthas uses http port 8563 , which can be opened:[http://localhost:8 The resulting results can be viewed with tools that support the JFR format. Such as: -- JDK Mission Control : https://github.com/openjdk/jmc +- JDK Mission Control : https://github.com/openjdk/jmc diff --git a/site/docs/en/doc/jvm.md b/site/docs/en/doc/jvm.md index 5695c8619b..7b92aac4d8 100644 --- a/site/docs/en/doc/jvm.md +++ b/site/docs/en/doc/jvm.md @@ -1,6 +1,6 @@ # jvm -[`jvm` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-jvm) +[`jvm` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=jvm) ::: tip Check the current JVM's info @@ -120,5 +120,5 @@ Affect(row-cnt:0) cost in 88 ms. ## File descriptor related -- MAX-FILE-DESCRIPTOR-COUNT:the count of max file descriptor JVM process can open -- OPEN-FILE-DESCRIPTOR-COUNT:the current count of file descriptor JVM process open +- MAX-FILE-DESCRIPTOR-COUNT: the count of max file descriptor JVM process can open +- OPEN-FILE-DESCRIPTOR-COUNT: the current count of file descriptor JVM process open diff --git a/site/docs/en/doc/keymap.md b/site/docs/en/doc/keymap.md index 3414c95c9c..f8086dea7b 100644 --- a/site/docs/en/doc/keymap.md +++ b/site/docs/en/doc/keymap.md @@ -1,6 +1,6 @@ # keymap -[`keymap` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-keymap) +[`keymap` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=keymap) Use `keymap` command to print the current keymap: diff --git a/site/docs/en/doc/logger.md b/site/docs/en/doc/logger.md index 736ed77e54..7714ab440c 100644 --- a/site/docs/en/doc/logger.md +++ b/site/docs/en/doc/logger.md @@ -1,6 +1,6 @@ # logger -[`logger` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials?language=en&id=command-logger) +[`logger` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=logger) ::: tip Print the logger information, update the logger level @@ -146,9 +146,9 @@ update logger level success. ### Speecify classloader to update logger level -By default,logger command will be executed under SystemClassloader, if the application is a traditional `war`, or using spring boot fat jar, then it needs to specify classloader。 +By default, logger command will be executed under SystemClassloader, if the application is a traditional `war`, or using spring boot fat jar, then it needs to specify classloader。 -You can first use `sc -d yourClassName` to check specified classloader hashcode,then specify classloader when updating logger level: +You can first use `sc -d yourClassName` to check specified classloader hashcode, then specify classloader when updating logger level: ```bash [arthas@2062]$ logger -c 2a139a55 --name ROOT --level debug diff --git a/site/docs/en/doc/mbean.md b/site/docs/en/doc/mbean.md index 7f4ed58dc1..8ea2a99c1e 100644 --- a/site/docs/en/doc/mbean.md +++ b/site/docs/en/doc/mbean.md @@ -1,6 +1,6 @@ # mbean -[`mbean` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-mbean) +[`mbean` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=mbean) ::: tip show Mbean information @@ -46,7 +46,7 @@ mbean java.lang:type=Th* ``` ::: warning -Notes:ObjectName matching rules differ from normal wildcards, Reference resources:[javax.management.ObjectName](https://docs.oracle.com/javase/8/docs/api/javax/management/ObjectName.html?is-external=true) +Notes: ObjectName matching rules differ from normal wildcards, Reference resources:[javax.management.ObjectName](https://docs.oracle.com/javase/8/docs/api/javax/management/ObjectName.html?is-external=true) ::: Wildcards match specific attributes: diff --git a/site/docs/en/doc/mc.md b/site/docs/en/doc/mc.md index c5d1791421..fd774e5c78 100644 --- a/site/docs/en/doc/mc.md +++ b/site/docs/en/doc/mc.md @@ -1,6 +1,6 @@ # mc -[`mc-retransform` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials?language=en&id=command-mc-retransform) +[`mc-retransform` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=mc-retransform) ## Usage diff --git a/site/docs/en/doc/monitor.md b/site/docs/en/doc/monitor.md index 9d00ec41ce..1a88f5eb2d 100644 --- a/site/docs/en/doc/monitor.md +++ b/site/docs/en/doc/monitor.md @@ -1,6 +1,6 @@ # monitor -[`monitor` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-monitor) +[`monitor` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=monitor) ::: tip Monitor method invocation. diff --git a/site/docs/en/doc/ognl.md b/site/docs/en/doc/ognl.md index 2ce1fb44c5..f384870c6b 100644 --- a/site/docs/en/doc/ognl.md +++ b/site/docs/en/doc/ognl.md @@ -1,6 +1,6 @@ # ognl -[`ognl` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials?language=en&id=command-ognl) +[`ognl` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=ognl) ::: tip Execute ognl expression. diff --git a/site/docs/en/doc/options.md b/site/docs/en/doc/options.md index 59c3807013..aed30fa359 100644 --- a/site/docs/en/doc/options.md +++ b/site/docs/en/doc/options.md @@ -1,6 +1,6 @@ # options -[`options` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-options) +[`options` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=options) ::: tip Global options diff --git a/site/docs/en/doc/perfcounter.md b/site/docs/en/doc/perfcounter.md index 491b7e143f..a863efdba6 100644 --- a/site/docs/en/doc/perfcounter.md +++ b/site/docs/en/doc/perfcounter.md @@ -1,6 +1,6 @@ # perfcounter -[`perfcounter` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-perfcounter) +[`perfcounter` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=perfcounter) ::: tip Check the current JVM Perf Counter information. diff --git a/site/docs/en/doc/profiler.md b/site/docs/en/doc/profiler.md index ed7b25abf0..2229a11693 100644 --- a/site/docs/en/doc/profiler.md +++ b/site/docs/en/doc/profiler.md @@ -1,6 +1,6 @@ # profiler -[`profiler` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-profiler) +[`profiler` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=profiler) ::: tip Generate a flame graph using [async-profiler](https://github.com/jvm-profiling-tools/async-profiler) diff --git a/site/docs/en/doc/pwd.md b/site/docs/en/doc/pwd.md index a53a811c4c..215d11e3ce 100644 --- a/site/docs/en/doc/pwd.md +++ b/site/docs/en/doc/pwd.md @@ -1,6 +1,6 @@ # pwd -[`pwd` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-pwd) +[`pwd` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=pwd) ::: tip Return working directory name diff --git a/site/docs/en/doc/redefine.md b/site/docs/en/doc/redefine.md index dc35bd8c73..6b725722b6 100644 --- a/site/docs/en/doc/redefine.md +++ b/site/docs/en/doc/redefine.md @@ -4,7 +4,7 @@ Recommend to use the [retransform](retransform.md) command. ::: -[`mc-redefine` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials?language=en&id=command-mc-redefine) +[`mc-redefine` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=mc-redefine) ::: tip Load the external `*.class` files to re-define the loaded classes in JVM. diff --git a/site/docs/en/doc/reset.md b/site/docs/en/doc/reset.md index 39c2357f32..a227f1bd4f 100644 --- a/site/docs/en/doc/reset.md +++ b/site/docs/en/doc/reset.md @@ -1,6 +1,6 @@ # reset -[`reset` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-reset) +[`reset` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=reset) ::: tip Reset all classes that have been enhanced by Arthas. These enhanced classes will also be reset when Arthas server is `stop`. diff --git a/site/docs/en/doc/retransform.md b/site/docs/en/doc/retransform.md index 888fad26e6..49811c0f04 100644 --- a/site/docs/en/doc/retransform.md +++ b/site/docs/en/doc/retransform.md @@ -1,6 +1,6 @@ # retransform -[`mc-retransform` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials?language=en&id=command-mc-retransform) +[`mc-retransform` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=mc-retransform) ::: tip Load the external `*.class` files to retransform the loaded classes in JVM. diff --git a/site/docs/en/doc/sc.md b/site/docs/en/doc/sc.md index 2d961222fb..a0d23a8ff7 100644 --- a/site/docs/en/doc/sc.md +++ b/site/docs/en/doc/sc.md @@ -1,6 +1,6 @@ # sc -[`sc` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials?language=en&id=command-sc) +[`sc` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=sc) ::: tip Search classes loaded by JVM. diff --git a/site/docs/en/doc/sm.md b/site/docs/en/doc/sm.md index 68f7d0def5..492fb36149 100644 --- a/site/docs/en/doc/sm.md +++ b/site/docs/en/doc/sm.md @@ -1,6 +1,6 @@ # sm -[`sm` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials?language=en&id=command-sm) +[`sm` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=sm) ::: tip Search method from the loaded classes. diff --git a/site/docs/en/doc/stack.md b/site/docs/en/doc/stack.md index 61e48bed15..e8814b74b2 100644 --- a/site/docs/en/doc/stack.md +++ b/site/docs/en/doc/stack.md @@ -1,6 +1,6 @@ # stack -[`stack` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-stack) +[`stack` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=stack) ::: tip Print out the full call stack of the current method. diff --git a/site/docs/en/doc/sysenv.md b/site/docs/en/doc/sysenv.md index 378ea38c9e..88850fbf34 100644 --- a/site/docs/en/doc/sysenv.md +++ b/site/docs/en/doc/sysenv.md @@ -1,6 +1,6 @@ # sysenv -[`sysenv` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-sysenv) +[`sysenv` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=sysenv) ::: tip View the current JVM environment variables. diff --git a/site/docs/en/doc/sysprop.md b/site/docs/en/doc/sysprop.md index 08990e8bdf..671da3f36c 100644 --- a/site/docs/en/doc/sysprop.md +++ b/site/docs/en/doc/sysprop.md @@ -1,6 +1,6 @@ # sysprop -[`sysprop` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-sysprop) +[`sysprop` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=sysprop) ::: tip Examine the system properties from the target JVM diff --git a/site/docs/en/doc/tee.md b/site/docs/en/doc/tee.md index 2b9d4a6f05..78aa5acacb 100644 --- a/site/docs/en/doc/tee.md +++ b/site/docs/en/doc/tee.md @@ -1,6 +1,6 @@ # tee -[`tee` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-tee) +[`tee` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=tee) ::: tip Similar to the traditional `tee` command, it is used to read standard input data and output its contents into a file. diff --git a/site/docs/en/doc/thread.md b/site/docs/en/doc/thread.md index d3a4007c11..37910032da 100644 --- a/site/docs/en/doc/thread.md +++ b/site/docs/en/doc/thread.md @@ -1,6 +1,6 @@ # thread -[`thread` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-thread) +[`thread` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=thread) ::: tip Check the basic info and stack trace of the target thread. diff --git a/site/docs/en/doc/trace.md b/site/docs/en/doc/trace.md index ad842ec4e2..16c78b4e32 100644 --- a/site/docs/en/doc/trace.md +++ b/site/docs/en/doc/trace.md @@ -1,6 +1,6 @@ # trace -[`trace` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-trace) +[`trace` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=trace) ::: tip Trace method calling path, and output the time cost for each node in the path. diff --git a/site/docs/en/doc/tt.md b/site/docs/en/doc/tt.md index f7cb3264da..cc97581710 100644 --- a/site/docs/en/doc/tt.md +++ b/site/docs/en/doc/tt.md @@ -1,6 +1,6 @@ # tt -[`tt` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-tt) +[`tt` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=tt) Check the `parameters`, `return values` and `exceptions` of the methods at different times. @@ -170,7 +170,7 @@ Affect(row-cnt:1) cost in 14 ms. `-w, --watch-express` watch the time fragment by ognl express. -- You can used all variables in [fundamental fields in expressions](advice-class.md) for the watch express。 +- You can used all variables in [fundamental fields in expressions](advice-class.md) for the watch express. ```bash [arthas@10718]$ tt -t demo.MathGame run -n 5 diff --git a/site/docs/en/doc/tunnel.md b/site/docs/en/doc/tunnel.md index 7cba233274..4164862e3b 100644 --- a/site/docs/en/doc/tunnel.md +++ b/site/docs/en/doc/tunnel.md @@ -111,7 +111,7 @@ Supported configuration: [tunnel-server application.properties](https://github.c Start the tunnel-server locally, then use `as.sh` attach, and specify the application name `--app-name test`: -``` +```bash $ as.sh --tunnel-server 'ws://127.0.0.1:7777/ws' --app-name test telnet connecting to arthas server... current timestamp is 1627539688 Trying 127.0.0.1... diff --git a/site/docs/en/doc/vmoption.md b/site/docs/en/doc/vmoption.md index 1ee1177008..929a4c0d11 100644 --- a/site/docs/en/doc/vmoption.md +++ b/site/docs/en/doc/vmoption.md @@ -1,6 +1,6 @@ # vmoption -[`vmoption` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-vmoption) +[`vmoption` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=vmoption) ::: tip Display, and update the vm diagnostic options. diff --git a/site/docs/en/doc/vmtool.md b/site/docs/en/doc/vmtool.md index 6bd2f9a815..772d16e1ea 100644 --- a/site/docs/en/doc/vmtool.md +++ b/site/docs/en/doc/vmtool.md @@ -4,7 +4,7 @@ @since 3.5.1 ::: -[`vmtool` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-vmtool) +[`vmtool` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=vmtool) `vmtool` uses the `JVMTI` to support `getInstances` in jvm and `forceGc`. diff --git a/site/docs/en/doc/watch.md b/site/docs/en/doc/watch.md index 808ed244da..1de8bd4894 100644 --- a/site/docs/en/doc/watch.md +++ b/site/docs/en/doc/watch.md @@ -1,6 +1,6 @@ # watch -[`watch` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-watch) +[`watch` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=watch) Monitor methods in data aspect including `return values`, `exceptions` and `parameters`. diff --git a/site/docs/en/doc/web-console.md b/site/docs/en/doc/web-console.md index 29eac2d928..2a2da30451 100644 --- a/site/docs/en/doc/web-console.md +++ b/site/docs/en/doc/web-console.md @@ -1,6 +1,6 @@ # Web Console -[`Web Console` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=case-web-console) +[`Web Console` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=web-console) ## Connect arthas through the browser