update doc

gh-pages
hengyunabc 5 years ago
parent 72d0a1e74c
commit dda323862c

@ -91,7 +91,7 @@
<ul>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -95,6 +95,53 @@ Arthas支持使用管道对上述命令的结果进行进一步的处理如`s
* [以java agent方式启动](agent.md)
## as.sh 和 arthas-boot 技巧
* 通过`select`功能选择attach的进程。
正常情况下,每次执行`as.sh`/`arthas-boot.jar`需要选择或者指定PID。这样会比较麻烦因为每次启动应用它的PID会变化。
比如,已经启动了`arthas-demo.jar`,使用`jps`命令查看:
```bash
$ jps
58883 arthas-demo.jar
58884 Jps
```
通过`select`参数可以指定进程名字,非常方便。
```bash
$ ./as.sh --select arthas-demo
Arthas script version: 3.3.6
[INFO] JAVA_HOME: /tmp/java/8.0.222-zulu
Arthas home: /Users/admin/.arthas/lib/3.3.6/arthas
Calculating attach execution time...
Attaching to 59161 using version /Users/admin/.arthas/lib/3.3.6/arthas...
real 0m0.572s
user 0m0.281s
sys 0m0.039s
Attach success.
telnet connecting to arthas server... current timestamp is 1594280799
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
,---. ,------. ,--------.,--. ,--. ,---. ,---.
/ O \ | .--. ''--. .--'| '--' | / O \ ' .-'
| .-. || '--'.' | | | .--. || .-. |`. `-.
| | | || |\ \ | | | | | || | | |.-' |
`--' `--'`--' '--' `--' `--' `--'`--' `--'`-----'
wiki https://alibaba.github.io/arthas
tutorials https://alibaba.github.io/arthas/arthas-tutorials
version 3.3.6
pid 58883
```
## 用户数据回报
在`3.1.4`版本后,增加了用户数据回报功能,方便统一做安全或者历史数据统计。

@ -26,7 +26,7 @@ Arthas 用户文档
Contents
--------
* [实习生招聘!](https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q)
* [应届生招聘!](https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q)
* [社招信息!](https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg)
* [技术征文!](https://developer.aliyun.com/article/751641)
* [English Docs](https://alibaba.github.io/arthas/en/)

@ -34,6 +34,11 @@ trace
`trace` 能方便的帮助你定位和发现因 RT 高而导致的性能问题缺陷,但其每次只能跟踪一级方法的调用链路。
参考:[Trace命令的实现原理](https://github.com/alibaba/arthas/issues/597)
3.3.0 版本后可以使用动态Trace功能不断增加新的匹配类参考下面的示例。
### 使用参考
@ -137,3 +142,52 @@ trace命令只会trace匹配到的函数里的子调用并不会向下trace
```bash
trace -E com.test.ClassA|org.test.ClassB method1|method2|method3
```
### 动态trace
3.3.0 版本后支持。
打开终端1trace `run`函数,可以看到打印出 `listenerId: 1`
```bash
[arthas@59161]$ trace demo.MathGame run
Press Q or Ctrl+C to abort.
Affect(class count: 1 , method count: 1) cost in 112 ms, listenerId: 1
`---ts=2020-07-09 16:48:11;thread_name=main;id=1;is_daemon=false;priority=5;TCCL=sun.misc.Launcher$AppClassLoader@3d4eac69
`---[1.389634ms] demo.MathGame:run()
`---[0.123934ms] demo.MathGame:primeFactors() #24 [throws Exception]
`---ts=2020-07-09 16:48:12;thread_name=main;id=1;is_daemon=false;priority=5;TCCL=sun.misc.Launcher$AppClassLoader@3d4eac69
`---[3.716391ms] demo.MathGame:run()
+---[3.182813ms] demo.MathGame:primeFactors() #24
`---[0.167786ms] demo.MathGame:print() #25
```
现在想要深入子函数`primeFactors`可以打开一个新终端2使用`telnet localhost 3658`连接上arthas再trace `primeFactors`时,指定`listenerId`。
```bash
[arthas@59161]$ trace demo.MathGame primeFactors --listenerId 1
Press Q or Ctrl+C to abort.
Affect(class count: 1 , method count: 1) cost in 34 ms, listenerId: 1
```
这时终端2打印的结果说明已经增强了一个函数`Affect(class count: 1 , method count: 1)`,但不再打印更多的结果。
再查看终端1可以发现trace的结果增加了一层打印了`primeFactors`函数里的内容:
```bash
`---ts=2020-07-09 16:49:29;thread_name=main;id=1;is_daemon=false;priority=5;TCCL=sun.misc.Launcher$AppClassLoader@3d4eac69
`---[0.492551ms] demo.MathGame:run()
`---[0.113929ms] demo.MathGame:primeFactors() #24 [throws Exception]
`---[0.061462ms] demo.MathGame:primeFactors()
`---[0.001018ms] throw:java.lang.IllegalArgumentException() #46
`---ts=2020-07-09 16:49:30;thread_name=main;id=1;is_daemon=false;priority=5;TCCL=sun.misc.Launcher$AppClassLoader@3d4eac69
`---[0.409446ms] demo.MathGame:run()
+---[0.232606ms] demo.MathGame:primeFactors() #24
| `---[0.1294ms] demo.MathGame:primeFactors()
`---[0.084025ms] demo.MathGame:print() #25
```
通过指定`listenerId`的方式动态trace可以不断深入。另外 `watch`/`tt`/`monitor`等命令也支持类似的功能。

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>
@ -118,6 +118,7 @@
<li class="toctree-l3"><a class="reference internal" href="agent.html">以java agent方式启动</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#as-sh-arthas-boot">as.sh 和 arthas-boot 技巧</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id5">用户数据回报</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id6">其他特性</a><ul>
<li class="toctree-l3"><a class="reference internal" href="async.html">异步命令支持</a></li>
@ -317,6 +318,45 @@
</ul>
</div>
</div>
<div class="section" id="as-sh-arthas-boot">
<h2>as.sh 和 arthas-boot 技巧<a class="headerlink" href="#as-sh-arthas-boot" title="永久链接至标题"></a></h2>
<ul class="simple">
<li><p>通过<code class="docutils literal notranslate"><span class="pre">select</span></code>功能选择attach的进程。</p></li>
</ul>
<p>正常情况下,每次执行<code class="docutils literal notranslate"><span class="pre">as.sh</span></code>/<code class="docutils literal notranslate"><span class="pre">arthas-boot.jar</span></code>需要选择或者指定PID。这样会比较麻烦因为每次启动应用它的PID会变化。</p>
<p>比如,已经启动了<code class="docutils literal notranslate"><span class="pre">arthas-demo.jar</span></code>,使用<code class="docutils literal notranslate"><span class="pre">jps</span></code>命令查看:</p>
<div class="highlight-bash notranslate"><div class="highlight hljs"><pre class="bash">$ jps
58883 arthas-demo.jar
58884 Jps</pre></div>
</div>
<p>通过<code class="docutils literal notranslate"><span class="pre">select</span></code>参数可以指定进程名字,非常方便。</p>
<div class="highlight-bash notranslate"><div class="highlight hljs"><pre class="bash">$ ./as.sh --select arthas-demo
Arthas script version: 3.3.6
[INFO] JAVA_HOME: /tmp/java/8.0.222-zulu
Arthas home: /Users/admin/.arthas/lib/3.3.6/arthas
Calculating attach execution time...
Attaching to 59161 using version /Users/admin/.arthas/lib/3.3.6/arthas...
real 0m0.572s
user 0m0.281s
sys 0m0.039s
Attach success.
telnet connecting to arthas server... current timestamp is 1594280799
Trying 127.0.0.1...
Connected to localhost.
Escape character is &#x27;^]&#x27;.
,---. ,------. ,--------.,--. ,--. ,---. ,---.
/ O \ | .--. &#x27;&#x27;--. .--&#x27;| &#x27;--&#x27; | / O \ &#x27; .-&#x27;
| .-. || &#x27;--&#x27;.&#x27; | | | .--. || .-. |`. `-.
| | | || |\ \ | | | | | || | | |.-&#x27; |
`--&#x27; `--&#x27;`--&#x27; &#x27;--&#x27; `--&#x27; `--&#x27; `--&#x27;`--&#x27; `--&#x27;`-----&#x27;
wiki https://alibaba.github.io/arthas
tutorials https://alibaba.github.io/arthas/arthas-tutorials
version 3.3.6
pid 58883</pre></div>
</div>
</div>
<div class="section" id="id5">
<h2>用户数据回报<a class="headerlink" href="#id5" title="永久链接至标题"></a></h2>
<p><code class="docutils literal notranslate"><span class="pre">3.1.4</span></code>版本后,增加了用户数据回报功能,方便统一做安全或者历史数据统计。</p>

@ -91,7 +91,7 @@
<ul>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>
@ -115,6 +115,7 @@
<li class="toctree-l3 current"><a class="current reference internal" href="#">以java agent方式启动</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#as-sh-arthas-boot">as.sh 和 arthas-boot 技巧</a></li>
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#id5">用户数据回报</a></li>
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#id6">其他特性</a></li>
</ul>

@ -91,7 +91,7 @@
<ul>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -91,7 +91,7 @@
<ul>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>
@ -112,6 +112,7 @@
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#id4">后台异步任务</a></li>
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#web-console">Web Console</a></li>
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#java-agent">以java agent方式启动</a></li>
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#as-sh-arthas-boot">as.sh 和 arthas-boot 技巧</a></li>
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#id5">用户数据回报</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="advanced-use.html#id6">其他特性</a><ul class="current">
<li class="toctree-l3 current"><a class="current reference internal" href="#">异步命令支持</a><ul>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>
@ -112,6 +112,7 @@
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#id4">后台异步任务</a></li>
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#web-console">Web Console</a></li>
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#java-agent">以java agent方式启动</a></li>
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#as-sh-arthas-boot">as.sh 和 arthas-boot 技巧</a></li>
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#id5">用户数据回报</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="advanced-use.html#id6">其他特性</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="async.html">异步命令支持</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -92,7 +92,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -90,6 +90,52 @@ Arthas supports living inside a browser. The communication between arthas and br
* [Start as a Java Agent](agent.md)
## as.sh and arthas-boot tips
* Select the process to be attached via the `select` option.
Normally, `as.sh`/`arthas-boot.jar` needs to a pid, bacause the pid will change.
For example, with `arthas-demo.jar` already started, use the `jps` command to see.
```bash
$ jps
58883 arthas-demo.jar
58884 Jps
```
The `select` option allows you to specify a process name, which is very convenient.
```bash
$ ./as.sh --select arthas-demo
Arthas script version: 3.3.6
[INFO] JAVA_HOME: /tmp/java/8.0.222-zulu
Arthas home: /Users/admin/.arthas/lib/3.3.6/arthas
Calculating attach execution time...
Attaching to 59161 using version /Users/admin/.arthas/lib/3.3.6/arthas...
real 0m0.572s
user 0m0.281s
sys 0m0.039s
Attach success.
telnet connecting to arthas server... current timestamp is 1594280799
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
,---. ,------. ,--------.,--. ,--. ,---. ,---.
/ O \ | .--. ''--. .--'| '--' | / O \ ' .-'
| .-. || '--'.' | | | .--. || .-. |`. `-.
| | | || |\ \ | | | | | || | | |.-' |
`--' `--'`--' '--' `--' `--' `--'`--' `--'`-----'
wiki https://alibaba.github.io/arthas
tutorials https://alibaba.github.io/arthas/arthas-tutorials
version 3.3.6
pid 58883
```
## User data report
After the `3.1.4` version, arthas support user data report.
@ -106,6 +152,3 @@ There is a sample data report in the tunnel server that users can implement on t
* [log the output](save-log.md)
* [batch](batch-support.md)
* [how to use ognl](https://github.com/alibaba/arthas/issues/11)

@ -33,13 +33,16 @@ Many times what we are interested is the exact trace result when the method call
`trace` is handy to help discovering and locating the performance flaws in your system, but pls. note Arthas can only trace the first level method call each time.
After version 3.3.0, you can use the Dynamic Trace feature to add new matching classes/methods, see the following example.
### Usage
#### Start Demo
Start `arthas-demo` in [Quick Start](quick-start.md).
#### trace method
#### Trace method
```bash
$ trace demo.MathGame run
@ -55,7 +58,7 @@ Affect(class-cnt:1 , method-cnt:1) cost in 28 ms.
```
#### trace times limit
#### Trace times limit
If the method invoked many times, use `-n` options to specify trace times. For example, the command will exit when received a trace result.
@ -125,7 +128,7 @@ Affect(class-cnt:1 , method-cnt:1) cost in 41 ms.
* The total time cost may not equal to the sum of the time costs each sub method call takes, this is because Arthas instrumented code takes time too.
#### trace multiple classes or multiple methods
#### Trace multiple classes or multiple methods
The trace command will only trace the subcalls in the method to the trace, and will not trace down multiple layers. Because traces are expensive, multi-layer traces can lead to a lot of classes and methods that ultimately have to be traced.
@ -133,4 +136,53 @@ You can use the regular expression to match multiple classes and methods on the
```bash
Trace -E com.test.ClassA|org.test.ClassB method1|method2|method3
```
```
#### Dynamic trace
> Supported since version 3.3.0.
Open terminal 1, trace the `run` method, and you can see the printout `listenerId: 1` .
```bash
[arthas@59161]$ trace demo.MathGame run
Press Q or Ctrl+C to abort.
Affect(class count: 1 , method count: 1) cost in 112 ms, listenerId: 1
`---ts=2020-07-09 16:48:11;thread_name=main;id=1;is_daemon=false;priority=5;TCCL=sun.misc.Launcher$AppClassLoader@3d4eac69
`---[1.389634ms] demo.MathGame:run()
`---[0.123934ms] demo.MathGame:primeFactors() #24 [throws Exception]
`---ts=2020-07-09 16:48:12;thread_name=main;id=1;is_daemon=false;priority=5;TCCL=sun.misc.Launcher$AppClassLoader@3d4eac69
`---[3.716391ms] demo.MathGame:run()
+---[3.182813ms] demo.MathGame:primeFactors() #24
`---[0.167786ms] demo.MathGame:print() #25
```
Now to drill down into the sub method `primeFactors`, you can open a new terminal 2 and use the `telnet localhost 3658` connects to the arthas, then trace `primeFactors` with the specify `listenerId`.
```bash
[arthas@59161]$ trace demo.MathGame primeFactors --listenerId 1
Press Q or Ctrl+C to abort.
Affect(class count: 1 , method count: 1) cost in 34 ms, listenerId: 1
```
At Terminal 2 prints the results, indicating that a method has been enhanced: `Affect(class count: 1 , method count: 1)`, but no more results are printed.
At terminal 1, you can see that the trace result has increased by one layer:
```bash
`---ts=2020-07-09 16:49:29;thread_name=main;id=1;is_daemon=false;priority=5;TCCL=sun.misc.Launcher$AppClassLoader@3d4eac69
`---[0.492551ms] demo.MathGame:run()
`---[0.113929ms] demo.MathGame:primeFactors() #24 [throws Exception]
`---[0.061462ms] demo.MathGame:primeFactors()
`---[0.001018ms] throw:java.lang.IllegalArgumentException() #46
`---ts=2020-07-09 16:49:30;thread_name=main;id=1;is_daemon=false;priority=5;TCCL=sun.misc.Launcher$AppClassLoader@3d4eac69
`---[0.409446ms] demo.MathGame:run()
+---[0.232606ms] demo.MathGame:primeFactors() #24
| `---[0.1294ms] demo.MathGame:primeFactors()
`---[0.084025ms] demo.MathGame:print() #25
```
Dynamic trace by specifying `listenerId`, you can go deeper and deeper. In addition, commands such as `watch`/`tt`/`monitor` also support similar functionality.

@ -113,6 +113,7 @@
<li class="toctree-l3"><a class="reference internal" href="agent.html">Start as a Java Agent</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#as-sh-and-arthas-boot-tips">as.sh and arthas-boot tips</a></li>
<li class="toctree-l2"><a class="reference internal" href="#user-data-report">User data report</a></li>
<li class="toctree-l2"><a class="reference internal" href="#other-features">Other features</a><ul>
<li class="toctree-l3"><a class="reference internal" href="async.html">Async support</a></li>
@ -311,6 +312,45 @@
</ul>
</div>
</div>
<div class="section" id="as-sh-and-arthas-boot-tips">
<h2>as.sh and arthas-boot tips<a class="headerlink" href="#as-sh-and-arthas-boot-tips" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li><p>Select the process to be attached via the <code class="docutils literal notranslate"><span class="pre">select</span></code> option.</p></li>
</ul>
<p>Normally, <code class="docutils literal notranslate"><span class="pre">as.sh</span></code>/<code class="docutils literal notranslate"><span class="pre">arthas-boot.jar</span></code> needs to a pid, bacause the pid will change.</p>
<p>For example, with <code class="docutils literal notranslate"><span class="pre">arthas-demo.jar</span></code> already started, use the <code class="docutils literal notranslate"><span class="pre">jps</span></code> command to see.</p>
<div class="highlight-bash notranslate"><div class="highlight hljs"><pre class="bash">$ jps
58883 arthas-demo.jar
58884 Jps</pre></div>
</div>
<p>The <code class="docutils literal notranslate"><span class="pre">select</span></code> option allows you to specify a process name, which is very convenient.</p>
<div class="highlight-bash notranslate"><div class="highlight hljs"><pre class="bash">$ ./as.sh --select arthas-demo
Arthas script version: 3.3.6
[INFO] JAVA_HOME: /tmp/java/8.0.222-zulu
Arthas home: /Users/admin/.arthas/lib/3.3.6/arthas
Calculating attach execution time...
Attaching to 59161 using version /Users/admin/.arthas/lib/3.3.6/arthas...
real 0m0.572s
user 0m0.281s
sys 0m0.039s
Attach success.
telnet connecting to arthas server... current timestamp is 1594280799
Trying 127.0.0.1...
Connected to localhost.
Escape character is &#x27;^]&#x27;.
,---. ,------. ,--------.,--. ,--. ,---. ,---.
/ O \ | .--. &#x27;&#x27;--. .--&#x27;| &#x27;--&#x27; | / O \ &#x27; .-&#x27;
| .-. || &#x27;--&#x27;.&#x27; | | | .--. || .-. |`. `-.
| | | || |\ \ | | | | | || | | |.-&#x27; |
`--&#x27; `--&#x27;`--&#x27; &#x27;--&#x27; `--&#x27; `--&#x27; `--&#x27;`--&#x27; `--&#x27;`-----&#x27;
wiki https://alibaba.github.io/arthas
tutorials https://alibaba.github.io/arthas/arthas-tutorials
version 3.3.6
pid 58883</pre></div>
</div>
</div>
<div class="section" id="user-data-report">
<h2>User data report<a class="headerlink" href="#user-data-report" title="Permalink to this headline"></a></h2>
<p>After the <code class="docutils literal notranslate"><span class="pre">3.1.4</span></code> version, arthas support user data report.</p>

@ -110,6 +110,7 @@
<li class="toctree-l3 current"><a class="current reference internal" href="#">Start as a Java Agent</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#as-sh-and-arthas-boot-tips">as.sh and arthas-boot tips</a></li>
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#user-data-report">User data report</a></li>
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#other-features">Other features</a></li>
</ul>

@ -107,6 +107,7 @@
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#async-in-background">async in background</a></li>
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#web-console">Web Console</a></li>
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#start-as-a-java-agent">Start as a Java Agent</a></li>
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#as-sh-and-arthas-boot-tips">as.sh and arthas-boot tips</a></li>
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#user-data-report">User data report</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="advanced-use.html#other-features">Other features</a><ul class="current">
<li class="toctree-l3 current"><a class="current reference internal" href="#">Async support</a><ul>

@ -107,6 +107,7 @@
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#async-in-background">async in background</a></li>
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#web-console">Web Console</a></li>
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#start-as-a-java-agent">Start as a Java Agent</a></li>
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#as-sh-and-arthas-boot-tips">as.sh and arthas-boot tips</a></li>
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#user-data-report">User data report</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="advanced-use.html#other-features">Other features</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="async.html">Async support</a></li>

@ -107,6 +107,7 @@
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#async-in-background">async in background</a></li>
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#web-console">Web Console</a></li>
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#start-as-a-java-agent">Start as a Java Agent</a></li>
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#as-sh-and-arthas-boot-tips">as.sh and arthas-boot tips</a></li>
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#user-data-report">User data report</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="advanced-use.html#other-features">Other features</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="async.html">Async support</a></li>

File diff suppressed because one or more lines are too long

@ -124,11 +124,12 @@
<li class="toctree-l3"><a class="reference internal" href="#notice">Notice</a></li>
<li class="toctree-l3"><a class="reference internal" href="#usage">Usage</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#start-demo">Start Demo</a></li>
<li class="toctree-l4"><a class="reference internal" href="#trace-method">trace method</a></li>
<li class="toctree-l4"><a class="reference internal" href="#trace-times-limit">trace times limit</a></li>
<li class="toctree-l4"><a class="reference internal" href="#trace-method">Trace method</a></li>
<li class="toctree-l4"><a class="reference internal" href="#trace-times-limit">Trace times limit</a></li>
<li class="toctree-l4"><a class="reference internal" href="#include-jdk-method">Include jdk method</a></li>
<li class="toctree-l4"><a class="reference internal" href="#filtering-by-cost">Filtering by cost</a></li>
<li class="toctree-l4"><a class="reference internal" href="#trace-multiple-classes-or-multiple-methods">trace multiple classes or multiple methods</a></li>
<li class="toctree-l4"><a class="reference internal" href="#trace-multiple-classes-or-multiple-methods">Trace multiple classes or multiple methods</a></li>
<li class="toctree-l4"><a class="reference internal" href="#dynamic-trace">Dynamic trace</a></li>
</ul>
</li>
</ul>
@ -278,6 +279,7 @@
<div class="section" id="notice">
<h2>Notice<a class="headerlink" href="#notice" title="Permalink to this headline"></a></h2>
<p><code class="docutils literal notranslate"><span class="pre">trace</span></code> is handy to help discovering and locating the performance flaws in your system, but pls. note Arthas can only trace the first level method call each time.</p>
<p>After version 3.3.0, you can use the Dynamic Trace feature to add new matching classes/methods, see the following example.</p>
</div>
<div class="section" id="usage">
<h2>Usage<a class="headerlink" href="#usage" title="Permalink to this headline"></a></h2>
@ -286,7 +288,7 @@
<p>Start <code class="docutils literal notranslate"><span class="pre">arthas-demo</span></code> in <a class="reference internal" href="quick-start.html"><span class="doc">Quick Start</span></a>.</p>
</div>
<div class="section" id="trace-method">
<h3>trace method<a class="headerlink" href="#trace-method" title="Permalink to this headline"></a></h3>
<h3>Trace method<a class="headerlink" href="#trace-method" title="Permalink to this headline"></a></h3>
<div class="highlight-bash notranslate"><div class="highlight hljs"><pre class="bash">$ trace demo.MathGame run
Press Q or Ctrl+C to abort.
Affect(class-cnt:1 , method-cnt:1) cost in 28 ms.
@ -300,7 +302,7 @@ Affect(class-cnt:1 , method-cnt:1) cost in 28 ms.
</div>
</div>
<div class="section" id="trace-times-limit">
<h3>trace times limit<a class="headerlink" href="#trace-times-limit" title="Permalink to this headline"></a></h3>
<h3>Trace times limit<a class="headerlink" href="#trace-times-limit" title="Permalink to this headline"></a></h3>
<p>If the method invoked many times, use <code class="docutils literal notranslate"><span class="pre">-n</span></code> options to specify trace times. For example, the command will exit when received a trace result.</p>
<div class="highlight-bash notranslate"><div class="highlight hljs"><pre class="bash">$ trace demo.MathGame run -n 1
Press Q or Ctrl+C to abort.
@ -368,12 +370,51 @@ Affect(class-cnt:1 , method-cnt:1) cost in 41 ms.
</ul>
</div>
<div class="section" id="trace-multiple-classes-or-multiple-methods">
<h3>trace multiple classes or multiple methods<a class="headerlink" href="#trace-multiple-classes-or-multiple-methods" title="Permalink to this headline"></a></h3>
<h3>Trace multiple classes or multiple methods<a class="headerlink" href="#trace-multiple-classes-or-multiple-methods" title="Permalink to this headline"></a></h3>
<p>The trace command will only trace the subcalls in the method to the trace, and will not trace down multiple layers. Because traces are expensive, multi-layer traces can lead to a lot of classes and methods that ultimately have to be traced.</p>
<p>You can use the regular expression to match multiple classes and methods on the path to achieve a multi-layer trace effect to some extent.</p>
<div class="highlight-bash notranslate"><div class="highlight hljs"><pre class="bash">Trace -E com.test.ClassA|org.test.ClassB method1|method2|method3</pre></div>
</div>
</div>
<div class="section" id="dynamic-trace">
<h3>Dynamic trace<a class="headerlink" href="#dynamic-trace" title="Permalink to this headline"></a></h3>
<blockquote>
<div><p>Supported since version 3.3.0.</p>
</div></blockquote>
<p>Open terminal 1, trace the <code class="docutils literal notranslate"><span class="pre">run</span></code> method, and you can see the printout <code class="docutils literal notranslate"><span class="pre">listenerId:</span> <span class="pre">1</span></code> .</p>
<div class="highlight-bash notranslate"><div class="highlight hljs"><pre class="bash">[arthas@59161]$ trace demo.MathGame run
Press Q or Ctrl+C to abort.
Affect(class count: 1 , method count: 1) cost in 112 ms, listenerId: 1
`---ts=2020-07-09 16:48:11;thread_name=main;id=1;is_daemon=false;priority=5;TCCL=sun.misc.Launcher$AppClassLoader@3d4eac69
`---[1.389634ms] demo.MathGame:run()
`---[0.123934ms] demo.MathGame:primeFactors() #24 [throws Exception]
`---ts=2020-07-09 16:48:12;thread_name=main;id=1;is_daemon=false;priority=5;TCCL=sun.misc.Launcher$AppClassLoader@3d4eac69
`---[3.716391ms] demo.MathGame:run()
+---[3.182813ms] demo.MathGame:primeFactors() #24
`---[0.167786ms] demo.MathGame:print() #25</pre></div>
</div>
<p>Now to drill down into the sub method <code class="docutils literal notranslate"><span class="pre">primeFactors</span></code>, you can open a new terminal 2 and use the <code class="docutils literal notranslate"><span class="pre">telnet</span> <span class="pre">localhost</span> <span class="pre">3658</span></code> connects to the arthas, then trace <code class="docutils literal notranslate"><span class="pre">primeFactors</span></code> with the specify <code class="docutils literal notranslate"><span class="pre">listenerId</span></code>.</p>
<div class="highlight-bash notranslate"><div class="highlight hljs"><pre class="bash">[arthas@59161]$ trace demo.MathGame primeFactors --listenerId 1
Press Q or Ctrl+C to abort.
Affect(class count: 1 , method count: 1) cost in 34 ms, listenerId: 1</pre></div>
</div>
<p>At Terminal 2 prints the results, indicating that a method has been enhanced: <code class="docutils literal notranslate"><span class="pre">Affect(class</span> <span class="pre">count:</span> <span class="pre">1</span> <span class="pre">,</span> <span class="pre">method</span> <span class="pre">count:</span> <span class="pre">1)</span></code>, but no more results are printed.</p>
<p>At terminal 1, you can see that the trace result has increased by one layer:</p>
<div class="highlight-bash notranslate"><div class="highlight hljs"><pre class="bash">`---ts=2020-07-09 16:49:29;thread_name=main;id=1;is_daemon=false;priority=5;TCCL=sun.misc.Launcher$AppClassLoader@3d4eac69
`---[0.492551ms] demo.MathGame:run()
`---[0.113929ms] demo.MathGame:primeFactors() #24 [throws Exception]
`---[0.061462ms] demo.MathGame:primeFactors()
`---[0.001018ms] throw:java.lang.IllegalArgumentException() #46
`---ts=2020-07-09 16:49:30;thread_name=main;id=1;is_daemon=false;priority=5;TCCL=sun.misc.Launcher$AppClassLoader@3d4eac69
`---[0.409446ms] demo.MathGame:run()
+---[0.232606ms] demo.MathGame:primeFactors() #24
| `---[0.1294ms] demo.MathGame:primeFactors()
`---[0.084025ms] demo.MathGame:print() #25</pre></div>
</div>
<p>Dynamic trace by specifying <code class="docutils literal notranslate"><span class="pre">listenerId</span></code>, you can go deeper and deeper. In addition, commands such as <code class="docutils literal notranslate"><span class="pre">watch</span></code>/<code class="docutils literal notranslate"><span class="pre">tt</span></code>/<code class="docutils literal notranslate"><span class="pre">monitor</span></code> also support similar functionality.</p>
</div>
</div>
</div>

@ -92,7 +92,7 @@
<ul>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -91,7 +91,7 @@
<ul>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -92,7 +92,7 @@
<ul>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>
@ -202,7 +202,7 @@
<h2>Contents<a class="headerlink" href="#contents" title="永久链接至标题"></a></h2>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -91,7 +91,7 @@
<ul>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -91,7 +91,7 @@
<ul>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -91,7 +91,7 @@
<ul>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -91,7 +91,7 @@
<ul>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>
@ -112,6 +112,7 @@
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#id4">后台异步任务</a></li>
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#web-console">Web Console</a></li>
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#java-agent">以java agent方式启动</a></li>
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#as-sh-arthas-boot">as.sh 和 arthas-boot 技巧</a></li>
<li class="toctree-l2"><a class="reference internal" href="advanced-use.html#id5">用户数据回报</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="advanced-use.html#id6">其他特性</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="async.html">异步命令支持</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -92,7 +92,7 @@
<ul>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

File diff suppressed because one or more lines are too long

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -91,7 +91,7 @@
<ul>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>
@ -136,6 +136,7 @@
<li class="toctree-l4"><a class="reference internal" href="#id7">trace多个类或者多个函数</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#id8">动态trace</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="stack.html">stack</a></li>
@ -284,6 +285,8 @@
<div class="section" id="id2">
<h2>注意事项<a class="headerlink" href="#id2" title="永久链接至标题"></a></h2>
<p><code class="docutils literal notranslate"><span class="pre">trace</span></code> 能方便的帮助你定位和发现因 RT 高而导致的性能问题缺陷,但其每次只能跟踪一级方法的调用链路。</p>
<p>参考:<a class="reference external" href="https://github.com/alibaba/arthas/issues/597">Trace命令的实现原理</a></p>
<p>3.3.0 版本后可以使用动态Trace功能不断增加新的匹配类参考下面的示例。</p>
</div>
<div class="section" id="id3">
<h2>使用参考<a class="headerlink" href="#id3" title="永久链接至标题"></a></h2>
@ -382,6 +385,43 @@ Affect(class-cnt:1 , method-cnt:1) cost in 41 ms.
</div>
</div>
</div>
<div class="section" id="id8">
<h2>动态trace<a class="headerlink" href="#id8" title="永久链接至标题"></a></h2>
<p>3.3.0 版本后支持。</p>
<p>打开终端1trace <code class="docutils literal notranslate"><span class="pre">run</span></code>函数,可以看到打印出 <code class="docutils literal notranslate"><span class="pre">listenerId:</span> <span class="pre">1</span></code></p>
<div class="highlight-bash notranslate"><div class="highlight hljs"><pre class="bash">[arthas@59161]$ trace demo.MathGame run
Press Q or Ctrl+C to abort.
Affect(class count: 1 , method count: 1) cost in 112 ms, listenerId: 1
`---ts=2020-07-09 16:48:11;thread_name=main;id=1;is_daemon=false;priority=5;TCCL=sun.misc.Launcher$AppClassLoader@3d4eac69
`---[1.389634ms] demo.MathGame:run()
`---[0.123934ms] demo.MathGame:primeFactors() #24 [throws Exception]
`---ts=2020-07-09 16:48:12;thread_name=main;id=1;is_daemon=false;priority=5;TCCL=sun.misc.Launcher$AppClassLoader@3d4eac69
`---[3.716391ms] demo.MathGame:run()
+---[3.182813ms] demo.MathGame:primeFactors() #24
`---[0.167786ms] demo.MathGame:print() #25</pre></div>
</div>
<p>现在想要深入子函数<code class="docutils literal notranslate"><span class="pre">primeFactors</span></code>可以打开一个新终端2使用<code class="docutils literal notranslate"><span class="pre">telnet</span> <span class="pre">localhost</span> <span class="pre">3658</span></code>连接上arthas再trace <code class="docutils literal notranslate"><span class="pre">primeFactors</span></code>时,指定<code class="docutils literal notranslate"><span class="pre">listenerId</span></code></p>
<div class="highlight-bash notranslate"><div class="highlight hljs"><pre class="bash">[arthas@59161]$ trace demo.MathGame primeFactors --listenerId 1
Press Q or Ctrl+C to abort.
Affect(class count: 1 , method count: 1) cost in 34 ms, listenerId: 1</pre></div>
</div>
<p>这时终端2打印的结果说明已经增强了一个函数<code class="docutils literal notranslate"><span class="pre">Affect(class</span> <span class="pre">count:</span> <span class="pre">1</span> <span class="pre">,</span> <span class="pre">method</span> <span class="pre">count:</span> <span class="pre">1)</span></code>,但不再打印更多的结果。</p>
<p>再查看终端1可以发现trace的结果增加了一层打印了<code class="docutils literal notranslate"><span class="pre">primeFactors</span></code>函数里的内容:</p>
<div class="highlight-bash notranslate"><div class="highlight hljs"><pre class="bash">`---ts=2020-07-09 16:49:29;thread_name=main;id=1;is_daemon=false;priority=5;TCCL=sun.misc.Launcher$AppClassLoader@3d4eac69
`---[0.492551ms] demo.MathGame:run()
`---[0.113929ms] demo.MathGame:primeFactors() #24 [throws Exception]
`---[0.061462ms] demo.MathGame:primeFactors()
`---[0.001018ms] throw:java.lang.IllegalArgumentException() #46
`---ts=2020-07-09 16:49:30;thread_name=main;id=1;is_daemon=false;priority=5;TCCL=sun.misc.Launcher$AppClassLoader@3d4eac69
`---[0.409446ms] demo.MathGame:run()
+---[0.232606ms] demo.MathGame:primeFactors() #24
| `---[0.1294ms] demo.MathGame:primeFactors()
`---[0.084025ms] demo.MathGame:print() #25</pre></div>
</div>
<p>通过指定<code class="docutils literal notranslate"><span class="pre">listenerId</span></code>的方式动态trace可以不断深入。另外 <code class="docutils literal notranslate"><span class="pre">watch</span></code>/<code class="docutils literal notranslate"><span class="pre">tt</span></code>/<code class="docutils literal notranslate"><span class="pre">monitor</span></code>等命令也支持类似的功能。</p>
</div>
</div>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

@ -93,7 +93,7 @@
<ul class="current">
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">实习生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/VVSc_a3mLELW35lMH7rR0Q">应届生招聘</a></li>
<li class="toctree-l1"><a class="reference external" href="https://mp.weixin.qq.com/s/677GO-3kYx5ygG9rlOlfQg">社招信息</a></li>
<li class="toctree-l1"><a class="reference external" href="https://developer.aliyun.com/article/751641">技术征文</a></li>
<li class="toctree-l1"><a class="reference external" href="https://alibaba.github.io/arthas/en/">English Docs</a></li>

Loading…
Cancel
Save