You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
arthas/assets/tt.html.4e536c14.js

92 lines
33 KiB
JavaScript

import{_ as c,o as i,c as r,a as s,b as a,w as p,e as n,d as e,r as l}from"./app.6c27e557.js";const d={},u=s("h1",{id:"tt",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#tt","aria-hidden":"true"},"#"),n(" tt")],-1),m={href:"https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=command-tt",target:"_blank",rel:"noopener noreferrer"},b=s("code",null,"tt",-1),k=n("\u5728\u7EBF\u6559\u7A0B"),v=e('<div class="custom-container tip"><p class="custom-container-title">\u63D0\u793A</p><p>\u65B9\u6CD5\u6267\u884C\u6570\u636E\u7684\u65F6\u7A7A\u96A7\u9053\uFF0C\u8BB0\u5F55\u4E0B\u6307\u5B9A\u65B9\u6CD5\u6BCF\u6B21\u8C03\u7528\u7684\u5165\u53C2\u548C\u8FD4\u56DE\u4FE1\u606F\uFF0C\u5E76\u80FD\u5BF9\u8FD9\u4E9B\u4E0D\u540C\u7684\u65F6\u95F4\u4E0B\u8C03\u7528\u8FDB\u884C\u89C2\u6D4B</p></div><p><code>watch</code> \u867D\u7136\u5F88\u65B9\u4FBF\u548C\u7075\u6D3B\uFF0C\u4F46\u9700\u8981\u63D0\u524D\u60F3\u6E05\u695A\u89C2\u5BDF\u8868\u8FBE\u5F0F\u7684\u62FC\u5199\uFF0C\u8FD9\u5BF9\u6392\u67E5\u95EE\u9898\u800C\u8A00\u8981\u6C42\u592A\u9AD8\uFF0C\u56E0\u4E3A\u5F88\u591A\u65F6\u5019\u6211\u4EEC\u5E76\u4E0D\u6E05\u695A\u95EE\u9898\u51FA\u81EA\u4E8E\u4F55\u65B9\uFF0C\u53EA\u80FD\u9760\u86DB\u4E1D\u9A6C\u8FF9\u8FDB\u884C\u731C\u6D4B\u3002</p><p>\u8FD9\u4E2A\u65F6\u5019\u5982\u679C\u80FD\u8BB0\u5F55\u4E0B\u5F53\u65F6\u65B9\u6CD5\u8C03\u7528\u7684\u6240\u6709\u5165\u53C2\u548C\u8FD4\u56DE\u503C\u3001\u629B\u51FA\u7684\u5F02\u5E38\u4F1A\u5BF9\u6574\u4E2A\u95EE\u9898\u7684\u601D\u8003\u4E0E\u5224\u65AD\u975E\u5E38\u6709\u5E2E\u52A9\u3002</p><p>\u4E8E\u662F\u4E4E\uFF0CTimeTunnel \u547D\u4EE4\u5C31\u8BDE\u751F\u4E86\u3002</p><h2 id="\u4F7F\u7528\u53C2\u8003" tabindex="-1"><a class="header-anchor" href="#\u4F7F\u7528\u53C2\u8003" aria-hidden="true">#</a> \u4F7F\u7528\u53C2\u8003</h2><h3 id="\u542F\u52A8-demo" tabindex="-1"><a class="header-anchor" href="#\u542F\u52A8-demo" aria-hidden="true">#</a> \u542F\u52A8 Demo</h3>',6),h=n("\u542F\u52A8"),f=n("\u5FEB\u901F\u5165\u95E8"),_=n("\u91CC\u7684"),T=s("code",null,"math-game",-1),E=n("\u3002"),g=e(`<h3 id="\u8BB0\u5F55\u8C03\u7528" tabindex="-1"><a class="header-anchor" href="#\u8BB0\u5F55\u8C03\u7528" aria-hidden="true">#</a> \u8BB0\u5F55\u8C03\u7528</h3><p>\u5BF9\u4E8E\u4E00\u4E2A\u6700\u57FA\u672C\u7684\u4F7F\u7528\u6765\u8BF4\uFF0C\u5C31\u662F\u8BB0\u5F55\u4E0B\u5F53\u524D\u65B9\u6CD5\u7684\u6BCF\u6B21\u8C03\u7528\u73AF\u5883\u73B0\u573A\u3002</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ tt <span class="token parameter variable">-t</span> demo.MathGame primeFactors
Press Ctrl+C to abort.
Affect<span class="token punctuation">(</span>class-cnt:1 , method-cnt:1<span class="token punctuation">)</span> cost <span class="token keyword">in</span> <span class="token number">66</span> ms.
INDEX TIMESTAMP COST<span class="token punctuation">(</span>ms<span class="token punctuation">)</span> IS-RET IS-EXP OBJECT CLASS METHOD
-------------------------------------------------------------------------------------------------------------------------------------
<span class="token number">1000</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:38 <span class="token number">1.096236</span> <span class="token boolean">false</span> <span class="token boolean">true</span> 0x4b67cf4d MathGame primeFactors
<span class="token number">1001</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:39 <span class="token number">0.191848</span> <span class="token boolean">false</span> <span class="token boolean">true</span> 0x4b67cf4d MathGame primeFactors
<span class="token number">1002</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:40 <span class="token number">0.069523</span> <span class="token boolean">false</span> <span class="token boolean">true</span> 0x4b67cf4d MathGame primeFactors
<span class="token number">1003</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:41 <span class="token number">0.186073</span> <span class="token boolean">false</span> <span class="token boolean">true</span> 0x4b67cf4d MathGame primeFactors
<span class="token number">1004</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:42 <span class="token number">17.76437</span> <span class="token boolean">true</span> <span class="token boolean">false</span> 0x4b67cf4d MathGame primeFactors
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="\u6307\u5B9A-class-\u6700\u5927\u5339\u914D\u6570\u91CF" tabindex="-1"><a class="header-anchor" href="#\u6307\u5B9A-class-\u6700\u5927\u5339\u914D\u6570\u91CF" aria-hidden="true">#</a> \u6307\u5B9A Class \u6700\u5927\u5339\u914D\u6570\u91CF</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ tt <span class="token parameter variable">-t</span> <span class="token parameter variable">-m</span> <span class="token number">1</span> demo.MathGame primeFactors
Press Q or Ctrl+C to abort.
Affect<span class="token punctuation">(</span>class count:1 , method count:1<span class="token punctuation">)</span> cost <span class="token keyword">in</span> <span class="token number">130</span> ms, listenerId: <span class="token number">1</span>.
INDEX TIMESTAMP COST<span class="token punctuation">(</span>ms<span class="token punctuation">)</span> IS-RET IS-EXP OBJECT CLASS METHOD
-------------------------------------------------------------------------------------------------------------------------------------
<span class="token number">1000</span> <span class="token number">2022</span>-12-25 <span class="token number">19</span>:41:45 <span class="token number">2.629929</span> <span class="token boolean">true</span> <span class="token boolean">false</span> 0x3bf400 MathGame primeFactors
<span class="token number">1001</span> <span class="token number">2022</span>-12-25 <span class="token number">19</span>:41:55 <span class="token number">0.146161</span> <span class="token boolean">false</span> <span class="token boolean">true</span> 0x3bf400 MathGame primeFactors
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ul><li><p>\u547D\u4EE4\u53C2\u6570\u89E3\u6790</p><ul><li><p><code>-t</code></p><p>tt \u547D\u4EE4\u6709\u5F88\u591A\u4E2A\u4E3B\u53C2\u6570\uFF0C<code>-t</code> \u5C31\u662F\u5176\u4E2D\u4E4B\u4E00\u3002\u8FD9\u4E2A\u53C2\u6570\u7684\u8868\u660E\u5E0C\u671B\u8BB0\u5F55\u4E0B\u7C7B <code>*Test</code> \u7684 <code>print</code> \u65B9\u6CD5\u7684\u6BCF\u6B21\u6267\u884C\u60C5\u51B5\u3002</p></li><li><p><code>-n 3</code></p><p>\u5F53\u4F60\u6267\u884C\u4E00\u4E2A\u8C03\u7528\u91CF\u4E0D\u9AD8\u7684\u65B9\u6CD5\u65F6\u53EF\u80FD\u4F60\u8FD8\u80FD\u6709\u8DB3\u591F\u7684\u65F6\u95F4\u7528 <code>CTRL+C</code> \u4E2D\u65AD tt \u547D\u4EE4\u8BB0\u5F55\u7684\u8FC7\u7A0B\uFF0C\u4F46\u5982\u679C\u9047\u5230\u8C03\u7528\u91CF\u975E\u5E38\u5927\u7684\u65B9\u6CD5\uFF0C\u77AC\u95F4\u5C31\u80FD\u5C06\u4F60\u7684 JVM \u5185\u5B58\u6491\u7206\u3002</p><p>\u6B64\u65F6\u4F60\u53EF\u4EE5\u901A\u8FC7 <code>-n</code> \u53C2\u6570\u6307\u5B9A\u4F60\u9700\u8981\u8BB0\u5F55\u7684\u6B21\u6570\uFF0C\u5F53\u8FBE\u5230\u8BB0\u5F55\u6B21\u6570\u65F6 Arthas \u4F1A\u4E3B\u52A8\u4E2D\u65AD tt \u547D\u4EE4\u7684\u8BB0\u5F55\u8FC7\u7A0B\uFF0C\u907F\u514D\u4EBA\u5DE5\u64CD\u4F5C\u65E0\u6CD5\u505C\u6B62\u7684\u60C5\u51B5\u3002</p></li><li><p><code>-m 1</code></p><p>\u901A\u8FC7 <code>-m</code> \u53C2\u6570\u6307\u5B9A Class \u5339\u914D\u7684\u6700\u5927\u6570\u91CF\uFF0C\u9632\u6B62\u5339\u914D\u5230\u7684 Class \u6570\u91CF\u592A\u591A\u5BFC\u81F4 JVM \u6302\u8D77\uFF0C\u9ED8\u8BA4\u503C\u662F 50\u3002</p></li></ul></li><li><p>\u8868\u683C\u5B57\u6BB5\u8BF4\u660E</p></li></ul><table><thead><tr><th>\u8868\u683C\u5B57\u6BB5</th><th>\u5B57\u6BB5\u89E3\u91CA</th></tr></thead><tbody><tr><td>INDEX</td><td>\u65F6\u95F4\u7247\u6BB5\u8BB0\u5F55\u7F16\u53F7\uFF0C\u6BCF\u4E00\u4E2A\u7F16\u53F7\u4EE3\u8868\u7740\u4E00\u6B21\u8C03\u7528\uFF0C\u540E\u7EED tt \u8FD8\u6709\u5F88\u591A\u547D\u4EE4\u90FD\u662F\u57FA\u4E8E\u6B64\u7F16\u53F7\u6307\u5B9A\u8BB0\u5F55\u64CD\u4F5C\uFF0C\u975E\u5E38\u91CD\u8981\u3002</td></tr><tr><td>TIMESTAMP</td><td>\u65B9\u6CD5\u6267\u884C\u7684\u672C\u673A\u65F6\u95F4\uFF0C\u8BB0\u5F55\u4E86\u8FD9\u4E2A\u65F6\u95F4\u7247\u6BB5\u6240\u53D1\u751F\u7684\u672C\u673A\u65F6\u95F4</td></tr><tr><td>COST(ms)</td><td>\u65B9\u6CD5\u6267\u884C\u7684\u8017\u65F6</td></tr><tr><td>IS-RET</td><td>\u65B9\u6CD5\u662F\u5426\u4EE5\u6B63\u5E38\u8FD4\u56DE\u7684\u5F62\u5F0F\u7ED3\u675F</td></tr><tr><td>IS-EXP</td><td>\u65B9\u6CD5\u662F\u5426\u4EE5\u629B\u5F02\u5E38\u7684\u5F62\u5F0F\u7ED3\u675F</td></tr><tr><td>OBJECT</td><td>\u6267\u884C\u5BF9\u8C61\u7684<code>hashCode()</code>\uFF0C\u6CE8\u610F\uFF0C\u66FE\u7ECF\u6709\u4EBA\u8BEF\u8BA4\u4E3A\u662F\u5BF9\u8C61\u5728 JVM \u4E2D\u7684\u5185\u5B58\u5730\u5740\uFF0C\u4F46\u5F88\u9057\u61BE\u4ED6\u4E0D\u662F\u3002\u4F46\u4ED6\u80FD\u5E2E\u52A9\u4F60\u7B80\u5355\u7684\u6807\u8BB0\u5F53\u524D\u6267\u884C\u65B9\u6CD5\u7684\u7C7B\u5B9E\u4F53</td></tr><tr><td>CLASS</td><td>\u6267\u884C\u7684\u7C7B\u540D</td></tr><tr><td>METHOD</td><td>\u6267\u884C\u7684\u65B9\u6CD5\u540D</td></tr></tbody></table>`,7),M=e("<li><p>\u6761\u4EF6\u8868\u8FBE\u5F0F</p><p>\u4E0D\u77E5\u9053\u5927\u5BB6\u662F\u5426\u6709\u5728\u4F7F\u7528\u8FC7\u7A0B\u4E2D\u9047\u5230\u4EE5\u4E0B\u56F0\u60D1</p><ul><li>Arthas \u4F3C\u4E4E\u5F88\u96BE\u533A\u5206\u51FA\u91CD\u8F7D\u7684\u65B9\u6CD5</li><li>\u6211\u53EA\u9700\u8981\u89C2\u5BDF\u7279\u5B9A\u53C2\u6570\uFF0C\u4F46\u662F tt \u5374\u5168\u90E8\u90FD\u7ED9\u6211\u8BB0\u5F55\u4E86\u4E0B\u6765</li></ul><p>\u6761\u4EF6\u8868\u8FBE\u5F0F\u4E5F\u662F\u7528 <code>\bOGNL</code> \u6765\u7F16\u5199\uFF0C\u6838\u5FC3\u7684\u5224\u65AD\u5BF9\u8C61\u4F9D\u7136\u662F <code>Advice</code> \u5BF9\u8C61\u3002\u9664\u4E86 <code>tt</code> \u547D\u4EE4\u4E4B\u5916\uFF0C<code>watch</code>\u3001<code>trace</code>\u3001<code>stack</code> \u547D\u4EE4\u4E5F\u90FD\u652F\u6301\u6761\u4EF6\u8868\u8FBE\u5F0F\u3002</p></li><li><p>\u89E3\u51B3\u65B9\u6CD5\u91CD\u8F7D</p><p><code>tt -t *Test print params.length==1</code></p><p>\u901A\u8FC7\u5236\u5B9A\u53C2\u6570\u4E2A\u6570\u7684\u5F62\u5F0F\u89E3\u51B3\u4E0D\u540C\u7684\u65B9\u6CD5\u7B7E\u540D\uFF0C\u5982\u679C\u53C2\u6570\u4E2A\u6570\u4E00\u6837\uFF0C\u4F60\u8FD8\u53EF\u4EE5\u8FD9\u6837\u5199</p><p><code>tt -t *Test print &#39;params[1] instanceof Integer&#39;</code></p></li><li><p>\u89E3\u51B3\u6307\u5B9A\u53C2\u6570</p><p><code>tt -t *Test print params[0].mobile==&quot;13989838402&quot;</code></p></li>",3),I=s("p",null,[n("\u6784\u6210\u6761\u4EF6\u8868\u8FBE\u5F0F\u7684 "),s("code",null,"Advice"),n(" \u5BF9\u8C61")],-1),S=n("\u524D\u8FB9\u770B\u5230\u4E86\u5F88\u591A\u6761\u4EF6\u8868\u8FBE\u5F0F\u4E2D\uFF0C\u90FD\u4F7F\u7528\u4E86 "),x=s("code",null,"params[0]",-1),C=n("\uFF0C\u6709\u5173\u8FD9\u4E2A\u53D8\u91CF\u7684\u4ECB\u7ECD\uFF0C\u8BF7\u53C2\u8003"),A=n("\u8868\u8FBE\u5F0F\u6838\u5FC3\u53D8\u91CF"),G=e(`<h3 id="\u68C0\u7D22\u8C03\u7528\u8BB0\u5F55" tabindex="-1"><a class="header-anchor" href="#\u68C0\u7D22\u8C03\u7528\u8BB0\u5F55" aria-hidden="true">#</a> \u68C0\u7D22\u8C03\u7528\u8BB0\u5F55</h3><p>\u5F53\u4F60\u7528 <code>tt</code> \u8BB0\u5F55\u4E86\u4E00\u5927\u7247\u7684\u65F6\u95F4\u7247\u6BB5\u4E4B\u540E\uFF0C\u4F60\u5E0C\u671B\u80FD\u4ECE\u4E2D\u7B5B\u9009\u51FA\u81EA\u5DF1\u9700\u8981\u7684\u65F6\u95F4\u7247\u6BB5\uFF0C\u8FD9\u4E2A\u65F6\u5019\u4F60\u5C31\u9700\u8981\u5BF9\u73B0\u6709\u8BB0\u5F55\u8FDB\u884C\u68C0\u7D22\u3002</p><p>\u5047\u8BBE\u6211\u4EEC\u6709\u8FD9\u4E9B\u8BB0\u5F55</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ tt <span class="token parameter variable">-l</span>
INDEX TIMESTAMP COST<span class="token punctuation">(</span>ms<span class="token punctuation">)</span> IS-RET IS-EXP OBJECT CLASS METHOD
-------------------------------------------------------------------------------------------------------------------------------------
<span class="token number">1000</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:38 <span class="token number">1.096236</span> <span class="token boolean">false</span> <span class="token boolean">true</span> 0x4b67cf4d MathGame primeFactors
<span class="token number">1001</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:39 <span class="token number">0.191848</span> <span class="token boolean">false</span> <span class="token boolean">true</span> 0x4b67cf4d MathGame primeFactors
<span class="token number">1002</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:40 <span class="token number">0.069523</span> <span class="token boolean">false</span> <span class="token boolean">true</span> 0x4b67cf4d MathGame primeFactors
<span class="token number">1003</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:41 <span class="token number">0.186073</span> <span class="token boolean">false</span> <span class="token boolean">true</span> 0x4b67cf4d MathGame primeFactors
<span class="token number">1004</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:42 <span class="token number">17.76437</span> <span class="token boolean">true</span> <span class="token boolean">false</span> 0x4b67cf4d MathGame primeFactors
<span class="token number">9</span>
<span class="token number">1005</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:43 <span class="token number">0.4776</span> <span class="token boolean">false</span> <span class="token boolean">true</span> 0x4b67cf4d MathGame primeFactors
Affect<span class="token punctuation">(</span>row-cnt:6<span class="token punctuation">)</span> cost <span class="token keyword">in</span> <span class="token number">4</span> ms.
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>\u6211\u9700\u8981\u7B5B\u9009\u51FA <code>primeFactors</code> \u65B9\u6CD5\u7684\u8C03\u7528\u4FE1\u606F</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ tt <span class="token parameter variable">-s</span> <span class="token string">&#39;method.name==&quot;primeFactors&quot;&#39;</span>
INDEX TIMESTAMP COST<span class="token punctuation">(</span>ms<span class="token punctuation">)</span> IS-RET IS-EXP OBJECT CLASS METHOD
-------------------------------------------------------------------------------------------------------------------------------------
<span class="token number">1000</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:38 <span class="token number">1.096236</span> <span class="token boolean">false</span> <span class="token boolean">true</span> 0x4b67cf4d MathGame primeFactors
<span class="token number">1001</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:39 <span class="token number">0.191848</span> <span class="token boolean">false</span> <span class="token boolean">true</span> 0x4b67cf4d MathGame primeFactors
<span class="token number">1002</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:40 <span class="token number">0.069523</span> <span class="token boolean">false</span> <span class="token boolean">true</span> 0x4b67cf4d MathGame primeFactors
<span class="token number">1003</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:41 <span class="token number">0.186073</span> <span class="token boolean">false</span> <span class="token boolean">true</span> 0x4b67cf4d MathGame primeFactors
<span class="token number">1004</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:42 <span class="token number">17.76437</span> <span class="token boolean">true</span> <span class="token boolean">false</span> 0x4b67cf4d MathGame primeFactors
<span class="token number">9</span>
<span class="token number">1005</span> <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:43 <span class="token number">0.4776</span> <span class="token boolean">false</span> <span class="token boolean">true</span> 0x4b67cf4d MathGame primeFactors
Affect<span class="token punctuation">(</span>row-cnt:6<span class="token punctuation">)</span> cost <span class="token keyword">in</span> <span class="token number">607</span> ms.
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>\u4F60\u9700\u8981\u4E00\u4E2A <code>-s</code> \u53C2\u6570\u3002<span style="color:red;">\u540C\u6837\u7684\uFF0C\u641C\u7D22\u8868\u8FBE\u5F0F\u7684\u6838\u5FC3\u5BF9\u8C61\u4F9D\u65E7\u662F <code>Advice</code> \u5BF9\u8C61\u3002</span></p><h3 id="\u67E5\u770B\u8C03\u7528\u4FE1\u606F" tabindex="-1"><a class="header-anchor" href="#\u67E5\u770B\u8C03\u7528\u4FE1\u606F" aria-hidden="true">#</a> \u67E5\u770B\u8C03\u7528\u4FE1\u606F</h3><p>\u5BF9\u4E8E\u5177\u4F53\u4E00\u4E2A\u65F6\u95F4\u7247\u7684\u4FE1\u606F\u800C\u8A00\uFF0C\u4F60\u53EF\u4EE5\u901A\u8FC7 <code>-i</code> \u53C2\u6570\u540E\u8FB9\u8DDF\u7740\u5BF9\u5E94\u7684 <code>INDEX</code> \u7F16\u53F7\u67E5\u770B\u5230\u4ED6\u7684\u8BE6\u7EC6\u4FE1\u606F\u3002</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ tt <span class="token parameter variable">-i</span> <span class="token number">1003</span>
INDEX <span class="token number">1003</span>
GMT-CREATE <span class="token number">2018</span>-12-04 <span class="token number">11</span>:15:41
COST<span class="token punctuation">(</span>ms<span class="token punctuation">)</span> <span class="token number">0.186073</span>
OBJECT 0x4b67cf4d
CLASS demo.MathGame
METHOD primeFactors
IS-RETURN <span class="token boolean">false</span>
IS-EXCEPTION <span class="token boolean">true</span>
PARAMETERS<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span> @Integer<span class="token punctuation">[</span>-564322413<span class="token punctuation">]</span>
THROW-EXCEPTION java.lang.IllegalArgumentException: number is: -564322413, need <span class="token operator">&gt;=</span> <span class="token number">2</span>
at demo.MathGame.primeFactors<span class="token punctuation">(</span>MathGame.java:46<span class="token punctuation">)</span>
at demo.MathGame.run<span class="token punctuation">(</span>MathGame.java:24<span class="token punctuation">)</span>
at demo.MathGame.main<span class="token punctuation">(</span>MathGame.java:16<span class="token punctuation">)</span>
Affect<span class="token punctuation">(</span>row-cnt:1<span class="token punctuation">)</span> cost <span class="token keyword">in</span> <span class="token number">11</span> ms.
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="\u91CD\u505A\u4E00\u6B21\u8C03\u7528" tabindex="-1"><a class="header-anchor" href="#\u91CD\u505A\u4E00\u6B21\u8C03\u7528" aria-hidden="true">#</a> \u91CD\u505A\u4E00\u6B21\u8C03\u7528</h3><p>\u5F53\u4F60\u7A0D\u7A0D\u505A\u4E86\u4E00\u4E9B\u8C03\u6574\u4E4B\u540E\uFF0C\u4F60\u53EF\u80FD\u9700\u8981\u524D\u7AEF\u7CFB\u7EDF\u91CD\u65B0\u89E6\u53D1\u4E00\u6B21\u4F60\u7684\u8C03\u7528\uFF0C\u6B64\u65F6\u5F97\u6C42\u7237\u7237\u544A\u5976\u5976\u7684\u9700\u8981\u524D\u7AEF\u914D\u5408\u8054\u8C03\u7684\u540C\u5B66\u518D\u6B21\u53D1\u8D77\u4E00\u6B21\u8C03\u7528\u3002\u800C\u6709\u4E9B\u573A\u666F\u4E0B\uFF0C\u8FD9\u4E2A\u8C03\u7528\u4E0D\u662F\u8FD9\u4E48\u597D\u89E6\u53D1\u7684\u3002</p><p><code>tt</code> \u547D\u4EE4\u7531\u4E8E\u4FDD\u5B58\u4E86\u5F53\u65F6\u8C03\u7528\u7684\u6240\u6709\u73B0\u573A\u4FE1\u606F\uFF0C\u6240\u4EE5\u6211\u4EEC\u53EF\u4EE5\u81EA\u5DF1\u4E3B\u52A8\u5BF9\u4E00\u4E2A <code>INDEX</code> \u7F16\u53F7\u7684\u65F6\u95F4\u7247\u81EA\u4E3B\u53D1\u8D77\u4E00\u6B21\u8C03\u7528\uFF0C\u4ECE\u800C\u89E3\u653E\u4F60\u7684\u6C9F\u901A\u6210\u672C\u3002\u6B64\u65F6\u4F60\u9700\u8981 <code>-p</code> \u53C2\u6570\u3002\u901A\u8FC7 <code>--replay-times</code> \u6307\u5B9A \u8C03\u7528\u6B21\u6570\uFF0C\u901A\u8FC7 <code>--replay-interval</code> \u6307\u5B9A\u591A\u6B21\u8C03\u7528\u95F4\u9694(\u5355\u4F4D ms, \u9ED8\u8BA4 1000ms)</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ tt <span class="token parameter variable">-i</span> <span class="token number">1004</span> <span class="token parameter variable">-p</span>
RE-INDEX <span class="token number">1004</span>
GMT-REPLAY <span class="token number">2018</span>-12-04 <span class="token number">11</span>:26:00
OBJECT 0x4b67cf4d
CLASS demo.MathGame
METHOD primeFactors
PARAMETERS<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span> @Integer<span class="token punctuation">[</span><span class="token number">946738738</span><span class="token punctuation">]</span>
IS-RETURN <span class="token boolean">true</span>
IS-EXCEPTION <span class="token boolean">false</span>
COST<span class="token punctuation">(</span>ms<span class="token punctuation">)</span> <span class="token number">0.186073</span>
RETURN-OBJ @ArrayList<span class="token punctuation">[</span>
@Integer<span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span>,
@Integer<span class="token punctuation">[</span><span class="token number">11</span><span class="token punctuation">]</span>,
@Integer<span class="token punctuation">[</span><span class="token number">17</span><span class="token punctuation">]</span>,
@Integer<span class="token punctuation">[</span><span class="token number">2531387</span><span class="token punctuation">]</span>,
<span class="token punctuation">]</span>
Time fragment<span class="token punctuation">[</span><span class="token number">1004</span><span class="token punctuation">]</span> successfully replayed.
Affect<span class="token punctuation">(</span>row-cnt:1<span class="token punctuation">)</span> cost <span class="token keyword">in</span> <span class="token number">14</span> ms.
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>\u4F60\u4F1A\u53D1\u73B0\u7ED3\u679C\u867D\u7136\u4E00\u6837\uFF0C\u4F46\u8C03\u7528\u7684\u8DEF\u5F84\u53D1\u751F\u4E86\u53D8\u5316\uFF0C\u7531\u539F\u6765\u7684\u7A0B\u5E8F\u53D1\u8D77\u53D8\u6210\u4E86 Arthas \u81EA\u5DF1\u7684\u5185\u90E8\u7EBF\u7A0B\u53D1\u8D77\u7684\u8C03\u7528\u4E86\u3002</p><h3 id="\u89C2\u5BDF\u8868\u8FBE\u5F0F" tabindex="-1"><a class="header-anchor" href="#\u89C2\u5BDF\u8868\u8FBE\u5F0F" aria-hidden="true">#</a> \u89C2\u5BDF\u8868\u8FBE\u5F0F</h3><p><code>-w, --watch-express</code> \u89C2\u5BDF\u65F6\u7A7A\u96A7\u9053\u4F7F\u7528<code>ognl</code> \u8868\u8FBE\u5F0F</p>`,17),O=n("\u4F7F\u7528"),F=n("\u8868\u8FBE\u5F0F\u6838\u5FC3\u53D8\u91CF"),P=n("\u4E2D\u6240\u6709\u53D8\u91CF\u4F5C\u4E3A\u5DF2\u77E5\u6761\u4EF6\u7F16\u5199\u8868\u8FBE\u5F0F\u3002"),R=e(`<div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token punctuation">[</span>arthas@10718<span class="token punctuation">]</span>$ tt <span class="token parameter variable">-t</span> demo.MathGame run <span class="token parameter variable">-n</span> <span class="token number">5</span>
Press Q or Ctrl+C to abort.
Affect<span class="token punctuation">(</span>class count: <span class="token number">1</span> , method count: <span class="token number">1</span><span class="token punctuation">)</span> cost <span class="token keyword">in</span> <span class="token number">56</span> ms, listenerId: <span class="token number">1</span>
INDEX TIMESTAMP COST<span class="token punctuation">(</span>ms<span class="token punctuation">)</span> IS-RET IS-EXP OBJECT CLASS METHOD
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
<span class="token number">1000</span> <span class="token number">2021</span>-01-08 <span class="token number">21</span>:54:17 <span class="token number">0.901091</span> <span class="token boolean">true</span> <span class="token boolean">false</span> 0x7699a589 MathGame run
<span class="token punctuation">[</span>arthas@10718<span class="token punctuation">]</span>$ tt <span class="token parameter variable">-w</span> <span class="token string">&#39;target.illegalArgumentCount&#39;</span> <span class="token parameter variable">-x</span> <span class="token number">1</span> <span class="token parameter variable">-i</span> <span class="token number">1000</span>
@Integer<span class="token punctuation">[</span><span class="token number">60</span><span class="token punctuation">]</span>
Affect<span class="token punctuation">(</span>row-cnt:1<span class="token punctuation">)</span> cost <span class="token keyword">in</span> <span class="token number">7</span> ms.
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ul><li>\u83B7\u53D6\u7C7B\u7684\u9759\u6001\u5B57\u6BB5\u3001\u8C03\u7528\u7C7B\u7684\u9759\u6001\u65B9\u6CD5</li></ul><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token punctuation">[</span>arthas@10718<span class="token punctuation">]</span>$ tt <span class="token parameter variable">-t</span> demo.MathGame run <span class="token parameter variable">-n</span> <span class="token number">5</span>
Press Q or Ctrl+C to abort.
Affect<span class="token punctuation">(</span>class count: <span class="token number">1</span> , method count: <span class="token number">1</span><span class="token punctuation">)</span> cost <span class="token keyword">in</span> <span class="token number">56</span> ms, listenerId: <span class="token number">1</span>
INDEX TIMESTAMP COST<span class="token punctuation">(</span>ms<span class="token punctuation">)</span> IS-RET IS-EXP OBJECT CLASS METHOD
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
<span class="token number">1000</span> <span class="token number">2021</span>-01-08 <span class="token number">21</span>:54:17 <span class="token number">0.901091</span> <span class="token boolean">true</span> <span class="token boolean">false</span> 0x7699a589 MathGame run
<span class="token punctuation">[</span>arthas@10718<span class="token punctuation">]</span>$ tt <span class="token parameter variable">-w</span> <span class="token string">&#39;@demo.MathGame@random.nextInt(100)&#39;</span> <span class="token parameter variable">-x</span> <span class="token number">1</span> <span class="token parameter variable">-i</span> <span class="token number">1000</span>
@Integer<span class="token punctuation">[</span><span class="token number">46</span><span class="token punctuation">]</span>
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div>`,3),w=n("\u6CE8\u610F\u8FD9\u91CC\u4F7F\u7528 "),N=s("code",null,"com.taobao.arthas.core.advisor.Advice#getLoader",-1),D=n("\u52A0\u8F7D,\u4F7F\u7528\u7CBE\u786E"),L=s("code",null,"classloader",-1),X=n(),y=n("ognl"),B=n("\u66F4\u597D\u3002"),J=n("\u9AD8\u7EA7\u7528\u6CD5 "),H={href:"https://github.com/alibaba/arthas/issues/482",target:"_blank",rel:"noopener noreferrer"},$=n("\u83B7\u53D6 spring context \u8C03\u7528 bean \u65B9\u6CD5"),V=e("<ul><li><p>\u9700\u8981\u5F3A\u8C03\u7684\u70B9</p><ol><li><p><strong>ThreadLocal \u4FE1\u606F\u4E22\u5931</strong></p><p>\u5F88\u591A\u6846\u67B6\u5077\u5077\u7684\u5C06\u4E00\u4E9B\u73AF\u5883\u53D8\u91CF\u4FE1\u606F\u585E\u5230\u4E86\u53D1\u8D77\u8C03\u7528\u7EBF\u7A0B\u7684 ThreadLocal \u4E2D\uFF0C\u7531\u4E8E\u8C03\u7528\u7EBF\u7A0B\u53D1\u751F\u4E86\u53D8\u5316\uFF0C\u8FD9\u4E9B ThreadLocal \u7EBF\u7A0B\u4FE1\u606F\u65E0\u6CD5\u901A\u8FC7 Arthas \u4FDD\u5B58\uFF0C\u6240\u4EE5\u8FD9\u4E9B\u4FE1\u606F\u5C06\u4F1A\u4E22\u5931\u3002</p><p>\u4E00\u4E9B\u5E38\u89C1\u7684 CASE \u6BD4\u5982\uFF1A\u9E70\u773C\u7684 TraceId \u7B49\u3002</p></li><li><p><strong>\u5F15\u7528\u7684\u5BF9\u8C61</strong></p><p>\u9700\u8981\u5F3A\u8C03\u7684\u662F\uFF0C<code>tt</code> \u547D\u4EE4\u662F\u5C06\u5F53\u524D\u73AF\u5883\u7684\u5BF9\u8C61\u5F15\u7528\u4FDD\u5B58\u8D77\u6765\uFF0C\u4F46\u4EC5\u4EC5\u4E5F\u53EA\u80FD\u4FDD\u5B58\u4E00\u4E2A\u5F15\u7528\u800C\u5DF2\u3002\u5982\u679C\u65B9\u6CD5\u5185\u90E8\u5BF9\u5165\u53C2\u8FDB\u884C\u4E86\u53D8\u66F4\uFF0C\u6216\u8005\u8FD4\u56DE\u7684\u5BF9\u8C61\u7ECF\u8FC7\u4E86\u540E\u7EED\u7684\u5904\u7406\uFF0C\u90A3\u4E48\u5728 <code>tt</code> \u67E5\u770B\u7684\u65F6\u5019\u5C06\u65E0\u6CD5\u770B\u5230\u5F53\u65F6\u6700\u51C6\u786E\u7684\u503C\u3002\u8FD9\u4E5F\u662F\u4E3A\u4EC0\u4E48 <code>watch</code> \u547D\u4EE4\u5B58\u5728\u7684\u610F\u4E49\u3002</p></li></ol></li></ul>",1);function q(j,Q){const o=l("ExternalLinkIcon"),t=l("RouterLink");return i(),r("div",null,[u,s("p",null,[s("a",m,[b,k,a(o)])]),v,s("p",null,[h,a(t,{to:"/doc/quick-start.html"},{default:p(()=>[f]),_:1}),_,T,E]),g,s("ul",null,[M,s("li",null,[I,s("p",null,[S,x,C,a(t,{to:"/doc/advice-class.html"},{default:p(()=>[A]),_:1})])])]),G,s("ul",null,[s("li",null,[O,a(t,{to:"/doc/advice-class.html"},{default:p(()=>[F]),_:1}),P])]),R,s("p",null,[w,N,D,L,X,a(t,{to:"/doc/ognl.html"},{default:p(()=>[y]),_:1}),B]),s("p",null,[J,s("a",H,[$,a(o)])]),V])}const W=c(d,[["render",q],["__file","tt.html.vue"]]);export{W as default};