mirror of https://github.com/alibaba/arthas.git
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.
345 lines
76 KiB
JavaScript
345 lines
76 KiB
JavaScript
import{_ as i}from"./arthas-web-ui.d97900e6.js";import{_ as l,o as c,c as u,a as s,b as a,w as r,e as n,d as t,r as o}from"./app.391b0e4e.js";const d={},v=s("h1",{id:"http-api",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#http-api","aria-hidden":"true"},"#"),n(" Http API")],-1),k={href:"https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=case-http-api",target:"_blank",rel:"noopener noreferrer"},b=s("code",null,"Http API",-1),m=n("\u5728\u7EBF\u6559\u7A0B"),q=t(`<h3 id="\u6982\u89C8" tabindex="-1"><a class="header-anchor" href="#\u6982\u89C8" aria-hidden="true">#</a> \u6982\u89C8</h3><p>Http API \u63D0\u4F9B\u7C7B\u4F3C RESTful \u7684\u4EA4\u4E92\u63A5\u53E3\uFF0C\u8BF7\u6C42\u548C\u54CD\u5E94\u5747\u4E3A JSON \u683C\u5F0F\u7684\u6570\u636E\u3002\u76F8\u5BF9\u4E8E Telnet/WebConsole \u7684\u8F93\u51FA\u975E\u7ED3\u6784\u5316\u6587\u672C\u6570\u636E\uFF0CHttp API \u53EF\u4EE5\u63D0\u4F9B\u7ED3\u6784\u5316\u7684\u6570\u636E\uFF0C\u652F\u6301\u66F4\u590D\u6742\u7684\u4EA4\u4E92\u529F\u80FD\uFF0C\u6BD4\u5982\u7279\u5B9A\u5E94\u7528\u573A\u666F\u7684\u4E00\u7CFB\u5217\u8BCA\u65AD\u64CD\u4F5C\u3002</p><h4 id="\u8BBF\u95EE\u5730\u5740" tabindex="-1"><a class="header-anchor" href="#\u8BBF\u95EE\u5730\u5740" aria-hidden="true">#</a> \u8BBF\u95EE\u5730\u5740</h4><p>Http API \u63A5\u53E3\u5730\u5740\u4E3A\uFF1A<code>http://ip:port/api</code>\uFF0C\u5FC5\u987B\u4F7F\u7528 POST \u65B9\u5F0F\u63D0\u4EA4\u8BF7\u6C42\u53C2\u6570\u3002\u5982 POST <code>http://127.0.0.1:8563/api</code> \u3002</p><p>\u6CE8\u610F\uFF1Atelnet \u670D\u52A1\u7684 3658 \u7AEF\u53E3\u4E0E Chrome \u6D4F\u89C8\u5668\u6709\u517C\u5BB9\u6027\u95EE\u9898\uFF0C\u5EFA\u8BAE\u4F7F\u7528 http \u7AEF\u53E3 8563 \u6765\u8BBF\u95EE http \u63A5\u53E3\u3002</p><h4 id="\u8BF7\u6C42\u6570\u636E\u683C\u5F0F" tabindex="-1"><a class="header-anchor" href="#\u8BF7\u6C42\u6570\u636E\u683C\u5F0F" aria-hidden="true">#</a> \u8BF7\u6C42\u6570\u636E\u683C\u5F0F</h4><div class="language-json ext-json line-numbers-mode"><pre class="language-json"><code><span class="token punctuation">{</span>
|
|
<span class="token property">"action"</span><span class="token operator">:</span> <span class="token string">"exec"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"requestId"</span><span class="token operator">:</span> <span class="token string">"req112"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"sessionId"</span><span class="token operator">:</span> <span class="token string">"94766d3c-8b39-42d3-8596-98aee3ccbefb"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"consumerId"</span><span class="token operator">:</span> <span class="token string">"955dbd1325334a84972b0f3ac19de4f7_2"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"command"</span><span class="token operator">:</span> <span class="token string">"version"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"execTimeout"</span><span class="token operator">:</span> <span class="token string">"10000"</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><p>\u8BF7\u6C42\u6570\u636E\u683C\u5F0F\u8BF4\u660E\uFF1A</p><ul><li><code>action</code> : \u8BF7\u6C42\u7684\u52A8\u4F5C/\u884C\u4E3A\uFF0C\u53EF\u9009\u503C\u8BF7\u53C2\u8003"\u8BF7\u6C42 Action"\u5C0F\u8282\u3002</li><li><code>requestId</code> : \u53EF\u9009\u8BF7\u6C42 ID\uFF0C\u7531\u5BA2\u6237\u7AEF\u751F\u6210\u3002</li><li><code>sessionId</code> : Arthas \u4F1A\u8BDD ID\uFF0C\u4E00\u6B21\u6027\u547D\u4EE4\u4E0D\u9700\u8981\u8BBE\u7F6E\u4F1A\u8BDD ID\u3002</li><li><code>consumerId</code> : Arthas \u6D88\u8D39\u8005 ID\uFF0C\u7528\u4E8E\u591A\u4EBA\u5171\u4EAB\u4F1A\u8BDD\u3002</li><li><code>command</code> : Arthas command line \u3002</li><li><code>execTimeout</code> : \u547D\u4EE4\u540C\u6B65\u6267\u884C\u7684\u8D85\u65F6\u65F6\u95F4(ms)\uFF0C\u9ED8\u8BA4\u4E3A 30000\u3002</li></ul><p>\u6CE8\u610F: \u4E0D\u540C\u7684 action \u4F7F\u7528\u5230\u53C2\u6570\u4E0D\u540C\uFF0C\u6839\u636E\u5177\u4F53\u7684 action \u6765\u8BBE\u7F6E\u53C2\u6570\u3002</p><h4 id="\u8BF7\u6C42-action" tabindex="-1"><a class="header-anchor" href="#\u8BF7\u6C42-action" aria-hidden="true">#</a> \u8BF7\u6C42 Action</h4><p>\u76EE\u524D\u652F\u6301\u7684\u8BF7\u6C42 Action \u5982\u4E0B\uFF1A</p><ul><li><code>exec</code> : \u540C\u6B65\u6267\u884C\u547D\u4EE4\uFF0C\u547D\u4EE4\u6B63\u5E38\u7ED3\u675F\u6216\u8005\u8D85\u65F6\u540E\u4E2D\u65AD\u547D\u4EE4\u6267\u884C\u540E\u8FD4\u56DE\u547D\u4EE4\u7684\u6267\u884C\u7ED3\u679C\u3002</li><li><code>async_exec</code> : \u5F02\u6B65\u6267\u884C\u547D\u4EE4\uFF0C\u7ACB\u5373\u8FD4\u56DE\u547D\u4EE4\u7684\u8C03\u5EA6\u7ED3\u679C\uFF0C\u547D\u4EE4\u6267\u884C\u7ED3\u679C\u901A\u8FC7<code>pull_results</code>\u83B7\u53D6\u3002</li><li><code>interrupt_job</code> : \u4E2D\u65AD\u4F1A\u8BDD\u5F53\u524D\u7684\u547D\u4EE4\uFF0C\u7C7B\u4F3C Telnet <code>Ctrl + c</code>\u7684\u529F\u80FD\u3002</li><li><code>pull_results</code> : \u83B7\u53D6\u5F02\u6B65\u6267\u884C\u7684\u547D\u4EE4\u7684\u7ED3\u679C\uFF0C\u4EE5 http \u957F\u8F6E\u8BE2\uFF08long-polling\uFF09\u65B9\u5F0F\u91CD\u590D\u6267\u884C</li><li><code>init_session</code> : \u521B\u5EFA\u4F1A\u8BDD</li><li><code>join_session</code> : \u52A0\u5165\u4F1A\u8BDD\uFF0C\u7528\u4E8E\u652F\u6301\u591A\u4EBA\u5171\u4EAB\u540C\u4E00\u4E2A Arthas \u4F1A\u8BDD</li><li><code>close_session</code> : \u5173\u95ED\u4F1A\u8BDD</li></ul><h4 id="\u54CD\u5E94\u72B6\u6001" tabindex="-1"><a class="header-anchor" href="#\u54CD\u5E94\u72B6\u6001" aria-hidden="true">#</a> \u54CD\u5E94\u72B6\u6001</h4><p>\u54CD\u5E94\u4E2D\u7684 state \u5C5E\u6027\u8868\u793A\u8BF7\u6C42\u5904\u7406\u72B6\u6001\uFF0C\u53D6\u503C\u5982\u4E0B\uFF1A</p><ul><li><code>SCHEDULED</code>\uFF1A\u5F02\u6B65\u6267\u884C\u547D\u4EE4\u65F6\u8868\u793A\u5DF2\u7ECF\u521B\u5EFA job \u5E76\u5DF2\u63D0\u4EA4\u5230\u547D\u4EE4\u6267\u884C\u961F\u5217\uFF0C\u547D\u4EE4\u53EF\u80FD\u8FD8\u6CA1\u5F00\u59CB\u6267\u884C\u6216\u8005\u6267\u884C\u4E2D\uFF1B</li><li><code>SUCCEEDED</code>\uFF1A\u8BF7\u6C42\u5904\u7406\u6210\u529F\uFF08\u5B8C\u6210\u72B6\u6001\uFF09\uFF1B</li><li><code>FAILED</code>\uFF1A\u8BF7\u6C42\u5904\u7406\u5931\u8D25\uFF08\u5B8C\u6210\u72B6\u6001\uFF09\uFF0C\u901A\u5E38\u9644\u5E26 message \u8BF4\u660E\u539F\u56E0\uFF1B</li><li><code>REFUSED</code>\uFF1A\u8BF7\u6C42\u88AB\u62D2\u7EDD\uFF08\u5B8C\u6210\u72B6\u6001\uFF09\uFF0C\u901A\u5E38\u9644\u5E26 message \u8BF4\u660E\u539F\u56E0\uFF1B</li></ul><h3 id="\u4E00\u6B21\u6027\u547D\u4EE4" tabindex="-1"><a class="header-anchor" href="#\u4E00\u6B21\u6027\u547D\u4EE4" aria-hidden="true">#</a> \u4E00\u6B21\u6027\u547D\u4EE4</h3><p>\u4E0E\u6267\u884C\u6279\u5904\u7406\u547D\u4EE4\u7C7B\u4F3C\uFF0C\u4E00\u6B21\u6027\u547D\u4EE4\u4EE5\u540C\u6B65\u65B9\u5F0F\u6267\u884C\u3002\u4E0D\u9700\u8981\u521B\u5EFA\u4F1A\u8BDD\uFF0C\u4E0D\u9700\u8981\u8BBE\u7F6E<code>sessionId</code>\u9009\u9879\u3002</p><div class="language-json ext-json line-numbers-mode"><pre class="language-json"><code><span class="token punctuation">{</span>
|
|
<span class="token property">"action"</span><span class="token operator">:</span> <span class="token string">"exec"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"command"</span><span class="token operator">:</span> <span class="token string">"<Arthas command line>"</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></div><p>\u6BD4\u5982\u83B7\u53D6 Arthas \u7248\u672C\u53F7\uFF1A</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">curl</span> -Ss -XPOST http://localhost:8563/api -d <span class="token string">'
|
|
{
|
|
"action":"exec",
|
|
"command":"version"
|
|
}
|
|
'</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></div><p>\u54CD\u5E94\u5185\u5BB9\u5982\u4E0B\uFF1A</p><div class="language-json ext-json line-numbers-mode"><pre class="language-json"><code><span class="token punctuation">{</span>
|
|
<span class="token property">"state"</span><span class="token operator">:</span> <span class="token string">"SUCCEEDED"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"sessionId"</span><span class="token operator">:</span> <span class="token string">"ee3bc004-4586-43de-bac0-b69d6db7a869"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"body"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
<span class="token property">"results"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|
<span class="token punctuation">{</span>
|
|
<span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"version"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"version"</span><span class="token operator">:</span> <span class="token string">"3.3.7"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"jobId"</span><span class="token operator">:</span> <span class="token number">5</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token punctuation">{</span>
|
|
<span class="token property">"jobId"</span><span class="token operator">:</span> <span class="token number">5</span><span class="token punctuation">,</span>
|
|
<span class="token property">"statusCode"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"status"</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">]</span><span class="token punctuation">,</span>
|
|
<span class="token property">"timeExpired"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
|
|
<span class="token property">"command"</span><span class="token operator">:</span> <span class="token string">"version"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"jobStatus"</span><span class="token operator">:</span> <span class="token string">"TERMINATED"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"jobId"</span><span class="token operator">:</span> <span class="token number">5</span>
|
|
<span class="token punctuation">}</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 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>\u54CD\u5E94\u6570\u636E\u89E3\u6790\uFF1A</p><ul><li><code>state</code>: \u8BF7\u6C42\u5904\u7406\u72B6\u6001\uFF0C\u53C2\u8003\u201C\u63A5\u53E3\u54CD\u5E94\u72B6\u6001\u201D\u8BF4\u660E</li><li><code>sessionId </code>: Arthas \u4F1A\u8BDD ID\uFF0C\u4E00\u6B21\u6027\u547D\u4EE4\u81EA\u52A8\u521B\u5EFA\u53CA\u9500\u6BC1\u4E34\u65F6\u4F1A\u8BDD</li><li><code>body.jobId</code>: \u547D\u4EE4\u7684\u4EFB\u52A1 ID\uFF0C\u540C\u4E00\u4EFB\u52A1\u8F93\u51FA\u7684\u6240\u6709 Result \u90FD\u662F\u76F8\u540C\u7684 jobId</li><li><code>body.jobStatus</code>: \u4EFB\u52A1\u72B6\u6001\uFF0C\u540C\u6B65\u6267\u884C\u6B63\u5E38\u7ED3\u675F\u4E3A<code>TERMINATED </code></li><li><code>body.timeExpired</code>: \u4EFB\u52A1\u6267\u884C\u662F\u5426\u8D85\u65F6</li><li><code>body/results</code>: \u547D\u4EE4\u6267\u884C\u7684\u7ED3\u679C\u5217\u8868</li></ul><p><strong>\u547D\u4EE4\u7ED3\u679C\u683C\u5F0F\u8BF4\u660E</strong></p><div class="language-json ext-json line-numbers-mode"><pre class="language-json"><code><span class="token punctuation">[</span>
|
|
<span class="token punctuation">{</span>
|
|
<span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"version"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"version"</span><span class="token operator">:</span> <span class="token string">"3.3.7"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"jobId"</span><span class="token operator">:</span> <span class="token number">5</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token punctuation">{</span>
|
|
<span class="token property">"jobId"</span><span class="token operator">:</span> <span class="token number">5</span><span class="token punctuation">,</span>
|
|
<span class="token property">"statusCode"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"status"</span>
|
|
<span class="token punctuation">}</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 class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ul><li><code>type</code> : \u547D\u4EE4\u7ED3\u679C\u7C7B\u578B\uFF0C\u9664\u4E86<code>status</code>\u7B49\u7279\u6B8A\u7684\u51E0\u4E2A\u5916\uFF0C\u5176\u5B83\u7684\u4FDD\u6301\u4E0E Arthas \u547D\u4EE4\u540D\u79F0\u4E00\u81F4\u3002\u8BF7\u53C2\u8003"<a href="#special_command_results">\u7279\u6B8A\u547D\u4EE4\u7ED3\u679C</a>"\u5C0F\u8282\u3002</li><li><code>jobId</code> : \u5904\u7406\u547D\u4EE4\u7684\u4EFB\u52A1 ID\u3002</li><li>\u5176\u5B83\u5B57\u6BB5\u4E3A\u6BCF\u4E2A\u4E0D\u540C\u547D\u4EE4\u7684\u6570\u636E\u3002</li></ul><p>\u6CE8\u610F\uFF1A\u4E5F\u53EF\u4EE5\u4F7F\u7528\u4E00\u6B21\u6027\u547D\u4EE4\u7684\u65B9\u5F0F\u6267\u884C watch/trace \u7B49\u8FDE\u7EED\u8F93\u51FA\u7684\u547D\u4EE4\uFF0C\u4F46\u4E0D\u80FD\u4E2D\u65AD\u547D\u4EE4\u6267\u884C\uFF0C\u53EF\u80FD\u51FA\u73B0\u957F\u65F6\u95F4\u6CA1\u6709\u7ED3\u675F\u7684\u95EE\u9898\u3002\u8BF7\u53C2\u8003"<a href="#change_watch_value_to_map">watch \u547D\u4EE4\u8F93\u51FA map \u5BF9\u8C61</a>"\u5C0F\u8282\u7684\u793A\u4F8B\u3002</p><p>\u8BF7\u5C3D\u91CF\u6309\u7167\u4EE5\u4E0B\u65B9\u5F0F\u5904\u7406\uFF1A</p><ul><li>\u8BBE\u7F6E\u5408\u7406\u7684<code>execTimeout</code>\uFF0C\u5230\u8FBE\u8D85\u65F6\u65F6\u95F4\u540E\u5F3A\u5236\u4E2D\u65AD\u547D\u4EE4\u6267\u884C\uFF0C\u907F\u514D\u957F\u65F6\u95F4\u6302\u8D77\u3002</li><li>\u901A\u8FC7<code>-n</code>\u53C2\u6570\u6307\u5B9A\u8F83\u5C11\u7684\u6267\u884C\u6B21\u6570\u3002</li><li>\u4FDD\u8BC1\u547D\u4EE4\u5339\u914D\u7684\u65B9\u6CD5\u53EF\u4EE5\u6210\u529F\u547D\u4E2D\u548C condition-express \u7F16\u5199\u6B63\u786E\uFF0C\u5982\u679C watch/trace \u6CA1\u6709\u547D\u4E2D\u5C31\u7B97\u6307\u5B9A<code>-n 1</code>\u4E5F\u4F1A\u6302\u8D77\u7B49\u5F85\u5230\u6267\u884C\u8D85\u65F6\u3002</li></ul><h3 id="\u4F1A\u8BDD\u4EA4\u4E92" tabindex="-1"><a class="header-anchor" href="#\u4F1A\u8BDD\u4EA4\u4E92" aria-hidden="true">#</a> \u4F1A\u8BDD\u4EA4\u4E92</h3><p>\u7531\u7528\u6237\u521B\u5EFA\u53CA\u7BA1\u7406 Arthas \u4F1A\u8BDD\uFF0C\u9002\u7528\u4E8E\u590D\u6742\u7684\u4EA4\u4E92\u8FC7\u7A0B\u3002\u8BBF\u95EE\u6D41\u7A0B\u5982\u4E0B\uFF1A</p><ul><li>\u521B\u5EFA\u4F1A\u8BDD</li><li>\u52A0\u5165\u4F1A\u8BDD(\u53EF\u9009\uFF09</li><li>\u62C9\u53D6\u547D\u4EE4\u7ED3\u679C</li><li>\u6267\u884C\u4E00\u7CFB\u5217\u547D\u4EE4</li><li>\u4E2D\u65AD\u547D\u4EE4\u6267\u884C</li><li>\u5173\u95ED\u4F1A\u8BDD</li></ul><h4 id="\u521B\u5EFA\u4F1A\u8BDD" tabindex="-1"><a class="header-anchor" href="#\u521B\u5EFA\u4F1A\u8BDD" aria-hidden="true">#</a> \u521B\u5EFA\u4F1A\u8BDD</h4><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">curl</span> -Ss -XPOST http://localhost:8563/api -d <span class="token string">'
|
|
{
|
|
"action":"init_session"
|
|
}
|
|
'</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></div><p>\u54CD\u5E94\u7ED3\u679C\uFF1A</p><div class="language-json ext-json line-numbers-mode"><pre class="language-json"><code><span class="token punctuation">{</span>
|
|
<span class="token property">"sessionId"</span><span class="token operator">:</span> <span class="token string">"b09f1353-202c-407b-af24-701b744f971e"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"consumerId"</span><span class="token operator">:</span> <span class="token string">"5ae4e5fbab8b4e529ac404f260d4e2d1_1"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"state"</span><span class="token operator">:</span> <span class="token string">"SUCCEEDED"</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></div><p>\u5F53\u524D\u4F1A\u8BDD ID \u4E3A\uFF1A <code>b09f1353-202c-407b-af24-701b744f971e</code>\uFF0C \u5F53\u524D\u6D88\u8D39\u8005 ID \u4E3A\uFF1A<code>5ae4e5fbab8b4e529ac404f260d4e2d1_1 </code>\u3002</p><h4 id="\u52A0\u5165\u4F1A\u8BDD" tabindex="-1"><a class="header-anchor" href="#\u52A0\u5165\u4F1A\u8BDD" aria-hidden="true">#</a> \u52A0\u5165\u4F1A\u8BDD</h4><p>\u6307\u5B9A\u8981\u52A0\u5165\u7684\u4F1A\u8BDD ID\uFF0C\u670D\u52A1\u7AEF\u5C06\u5206\u914D\u4E00\u4E2A\u65B0\u7684\u6D88\u8D39\u8005 ID\u3002\u591A\u4E2A\u6D88\u8D39\u8005\u53EF\u4EE5\u63A5\u6536\u5230\u540C\u4E00\u4E2A\u4F1A\u8BDD\u7684\u547D\u4EE4\u7ED3\u679C\u3002\u672C\u63A5\u53E3\u7528\u4E8E\u652F\u6301\u591A\u4EBA\u5171\u4EAB\u540C\u4E00\u4E2A\u4F1A\u8BDD\u6216\u5237\u65B0\u9875\u9762\u540E\u91CD\u65B0\u62C9\u53D6\u4F1A\u8BDD\u5386\u53F2\u8BB0\u5F55\u3002</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">curl</span> -Ss -XPOST http://localhost:8563/api -d <span class="token string">'
|
|
{
|
|
"action":"join_session",
|
|
"sessionId" : "b09f1353-202c-407b-af24-701b744f971e"
|
|
}
|
|
'</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></div><p>\u54CD\u5E94\u7ED3\u679C\uFF1A</p><div class="language-json ext-json line-numbers-mode"><pre class="language-json"><code><span class="token punctuation">{</span>
|
|
<span class="token property">"consumerId"</span><span class="token operator">:</span> <span class="token string">"8f7f6ad7bc2d4cb5aa57a530927a95cc_2"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"sessionId"</span><span class="token operator">:</span> <span class="token string">"b09f1353-202c-407b-af24-701b744f971e"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"state"</span><span class="token operator">:</span> <span class="token string">"SUCCEEDED"</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></div><p>\u65B0\u7684\u6D88\u8D39\u8005 ID \u4E3A<code>8f7f6ad7bc2d4cb5aa57a530927a95cc_2 </code> \u3002</p><h4 id="\u62C9\u53D6\u547D\u4EE4\u7ED3\u679C" tabindex="-1"><a class="header-anchor" href="#\u62C9\u53D6\u547D\u4EE4\u7ED3\u679C" aria-hidden="true">#</a> \u62C9\u53D6\u547D\u4EE4\u7ED3\u679C</h4><p>\u62C9\u53D6\u547D\u4EE4\u7ED3\u679C\u6D88\u606F\u7684 action \u4E3A<code>pull_results</code>\u3002\u8BF7\u4F7F\u7528 Http long-polling \u65B9\u5F0F\uFF0C\u5B9A\u65F6\u5FAA\u73AF\u62C9\u53D6\u7ED3\u679C\u6D88\u606F\u3002 \u6D88\u8D39\u8005\u7684\u8D85\u65F6\u65F6\u95F4\u4E3A 5 \u5206\u949F\uFF0C\u8D85\u65F6\u540E\u9700\u8981\u8C03\u7528<code>join_session</code>\u5206\u914D\u65B0\u7684\u6D88\u8D39\u8005\u3002\u6BCF\u4E2A\u6D88\u8D39\u8005\u5355\u72EC\u5206\u914D\u4E00\u4E2A\u7F13\u5B58\u961F\u5217\uFF0C\u6309\u987A\u5E8F\u62C9\u53D6\u547D\u4EE4\u7ED3\u679C\uFF0C\u4E0D\u4F1A\u5F71\u54CD\u5230\u5176\u5B83\u6D88\u8D39\u8005\u3002</p><p>\u8BF7\u6C42\u53C2\u6570\u9700\u8981\u6307\u5B9A\u4F1A\u8BDD ID \u53CA\u6D88\u8D39\u8005 ID:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">curl</span> -Ss -XPOST http://localhost:8563/api -d <span class="token string">'
|
|
{
|
|
"action":"pull_results",
|
|
"sessionId" : "b09f1353-202c-407b-af24-701b744f971e",
|
|
"consumerId" : "8f7f6ad7bc2d4cb5aa57a530927a95cc_2"
|
|
}
|
|
'</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></div><p>\u7528 Bash \u811A\u672C\u5B9A\u65F6\u62C9\u53D6\u7ED3\u679C\u6D88\u606F:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token keyword">while</span> <span class="token boolean">true</span><span class="token punctuation">;</span> <span class="token keyword">do</span> <span class="token function">curl</span> -Ss -XPOST http://localhost:8563/api -d <span class="token string">'
|
|
{
|
|
"action":"pull_results",
|
|
"sessionId" : "2b085b5d-883b-4914-ab35-b2c5c1d5aa2a",
|
|
"consumerId" : "8ecb9cb7c7804d5d92e258b23d5245cc_1"
|
|
}
|
|
'</span> <span class="token operator">|</span> json_pp<span class="token punctuation">;</span> <span class="token function">sleep</span> <span class="token number">2</span><span class="token punctuation">;</span> <span class="token keyword">done</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></div><p>\u6CE8\uFF1A <code>json_pp</code> \u5DE5\u5177\u5C06\u8F93\u51FA\u5185\u5BB9\u683C\u5F0F\u5316\u4E3A pretty json\u3002</p><p>\u54CD\u5E94\u5185\u5BB9\u5982\u4E0B\uFF1A</p><div class="language-json ext-json line-numbers-mode"><pre class="language-json"><code><span class="token punctuation">{</span>
|
|
<span class="token property">"body"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
<span class="token property">"results"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|
<span class="token punctuation">{</span>
|
|
<span class="token property">"inputStatus"</span><span class="token operator">:</span> <span class="token string">"DISABLED"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"jobId"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"input_status"</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token punctuation">{</span>
|
|
<span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"message"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"jobId"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"message"</span><span class="token operator">:</span> <span class="token string">"Welcome to arthas!"</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token punctuation">{</span>
|
|
<span class="token property">"tutorials"</span><span class="token operator">:</span> <span class="token string">"https://arthas.aliyun.com/doc/arthas-tutorials.html"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"time"</span><span class="token operator">:</span> <span class="token string">"2020-08-06 15:56:43"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"welcome"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"jobId"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"pid"</span><span class="token operator">:</span> <span class="token string">"7909"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"wiki"</span><span class="token operator">:</span> <span class="token string">"https://arthas.aliyun.com/doc"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"version"</span><span class="token operator">:</span> <span class="token string">"3.3.7"</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token punctuation">{</span>
|
|
<span class="token property">"inputStatus"</span><span class="token operator">:</span> <span class="token string">"ALLOW_INPUT"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"input_status"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"jobId"</span><span class="token operator">:</span> <span class="token number">0</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">]</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token property">"sessionId"</span><span class="token operator">:</span> <span class="token string">"b09f1353-202c-407b-af24-701b744f971e"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"consumerId"</span><span class="token operator">:</span> <span class="token string">"8f7f6ad7bc2d4cb5aa57a530927a95cc_2"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"state"</span><span class="token operator">:</span> <span class="token string">"SUCCEEDED"</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 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 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><h4 id="\u5F02\u6B65\u6267\u884C\u547D\u4EE4" tabindex="-1"><a class="header-anchor" href="#\u5F02\u6B65\u6267\u884C\u547D\u4EE4" aria-hidden="true">#</a> \u5F02\u6B65\u6267\u884C\u547D\u4EE4</h4><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">curl</span> -Ss -XPOST http://localhost:8563/api -d <span class="token string">''</span>'
|
|
<span class="token punctuation">{</span>
|
|
<span class="token string">"action"</span><span class="token builtin class-name">:</span><span class="token string">"async_exec"</span>,
|
|
<span class="token string">"command"</span><span class="token builtin class-name">:</span><span class="token string">"watch demo.MathGame primeFactors <span class="token entity" title="\\"">\\"</span>{params, returnObj, throwExp}<span class="token entity" title="\\"">\\"</span> "</span>,
|
|
<span class="token string">"sessionId"</span> <span class="token builtin class-name">:</span> <span class="token string">"2b085b5d-883b-4914-ab35-b2c5c1d5aa2a"</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token string">''</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></div><p><code>async_exec</code> \u7684\u7ED3\u679C\uFF1A</p><div class="language-json ext-json line-numbers-mode"><pre class="language-json"><code><span class="token punctuation">{</span>
|
|
<span class="token property">"sessionId"</span><span class="token operator">:</span> <span class="token string">"2b085b5d-883b-4914-ab35-b2c5c1d5aa2a"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"state"</span><span class="token operator">:</span> <span class="token string">"SCHEDULED"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"body"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
<span class="token property">"jobStatus"</span><span class="token operator">:</span> <span class="token string">"READY"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"jobId"</span><span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>
|
|
<span class="token property">"command"</span><span class="token operator">:</span> <span class="token string">"watch demo.MathGame primeFactors \\"{params, returnObj, throwExp}\\" "</span>
|
|
<span class="token punctuation">}</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 class="line-number"></div></div></div><ul><li><code>state</code> : <code>SCHEDULED</code> \u72B6\u6001\u8868\u793A\u5DF2\u7ECF\u89E3\u6790\u547D\u4EE4\u751F\u6210\u4EFB\u52A1\uFF0C\u4F46\u672A\u5F00\u59CB\u6267\u884C\u3002</li><li><code>body.jobId</code> : \u5F02\u6B65\u6267\u884C\u547D\u4EE4\u7684\u4EFB\u52A1 ID\uFF0C\u53EF\u4EE5\u6839\u636E\u6B64\u4EFB\u52A1 ID \u6765\u8FC7\u6EE4\u5728<code>pull_results</code>\u8F93\u51FA\u7684\u547D\u4EE4\u7ED3\u679C\u3002</li><li><code>body.jobStatus</code> : \u4EFB\u52A1\u72B6\u6001<code>READY</code>\u8868\u793A\u672A\u5F00\u59CB\u6267\u884C\u3002</li></ul><p>\u67E5\u770B\u4E0A\u9762\u81EA\u52A8\u62C9\u53D6\u7ED3\u679C\u6D88\u606F\u811A\u672C\u7684 shell \u8F93\u51FA\uFF1A</p><div class="language-json ext-json line-numbers-mode"><pre class="language-json"><code><span class="token punctuation">{</span>
|
|
<span class="token property">"body"</span> <span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
<span class="token property">"results"</span> <span class="token operator">:</span> <span class="token punctuation">[</span>
|
|
<span class="token punctuation">{</span>
|
|
<span class="token property">"type"</span> <span class="token operator">:</span> <span class="token string">"command"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"jobId"</span> <span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>
|
|
<span class="token property">"state"</span> <span class="token operator">:</span> <span class="token string">"SCHEDULED"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"command"</span> <span class="token operator">:</span> <span class="token string">"watch demo.MathGame primeFactors \\"{params, returnObj, throwExp}\\" "</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token punctuation">{</span>
|
|
<span class="token property">"inputStatus"</span> <span class="token operator">:</span> <span class="token string">"ALLOW_INTERRUPT"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"jobId"</span> <span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"type"</span> <span class="token operator">:</span> <span class="token string">"input_status"</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token punctuation">{</span>
|
|
<span class="token property">"success"</span> <span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>
|
|
<span class="token property">"jobId"</span> <span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>
|
|
<span class="token property">"effect"</span> <span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
<span class="token property">"listenerId"</span> <span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>
|
|
<span class="token property">"cost"</span> <span class="token operator">:</span> <span class="token number">24</span><span class="token punctuation">,</span>
|
|
<span class="token property">"classCount"</span> <span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>
|
|
<span class="token property">"methodCount"</span> <span class="token operator">:</span> <span class="token number">1</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token property">"type"</span> <span class="token operator">:</span> <span class="token string">"enhancer"</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token punctuation">{</span>
|
|
<span class="token property">"sizeLimit"</span> <span class="token operator">:</span> <span class="token number">10485760</span><span class="token punctuation">,</span>
|
|
<span class="token property">"expand"</span> <span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>
|
|
<span class="token property">"jobId"</span> <span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>
|
|
<span class="token property">"type"</span> <span class="token operator">:</span> <span class="token string">"watch"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"cost"</span> <span class="token operator">:</span> <span class="token number">0.071499</span><span class="token punctuation">,</span>
|
|
<span class="token property">"ts"</span> <span class="token operator">:</span> <span class="token number">1596703453237</span><span class="token punctuation">,</span>
|
|
<span class="token property">"value"</span> <span class="token operator">:</span> <span class="token punctuation">[</span>
|
|
<span class="token punctuation">[</span>
|
|
<span class="token number">-170365</span>
|
|
<span class="token punctuation">]</span><span class="token punctuation">,</span>
|
|
<span class="token null keyword">null</span><span class="token punctuation">,</span>
|
|
<span class="token punctuation">{</span>
|
|
<span class="token property">"stackTrace"</span> <span class="token operator">:</span> <span class="token punctuation">[</span>
|
|
<span class="token punctuation">{</span>
|
|
<span class="token property">"className"</span> <span class="token operator">:</span> <span class="token string">"demo.MathGame"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"classLoaderName"</span> <span class="token operator">:</span> <span class="token string">"app"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"methodName"</span> <span class="token operator">:</span> <span class="token string">"primeFactors"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"nativeMethod"</span> <span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
|
|
<span class="token property">"lineNumber"</span> <span class="token operator">:</span> <span class="token number">46</span><span class="token punctuation">,</span>
|
|
<span class="token property">"fileName"</span> <span class="token operator">:</span> <span class="token string">"MathGame.java"</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
...
|
|
<span class="token punctuation">]</span><span class="token punctuation">,</span>
|
|
<span class="token property">"localizedMessage"</span> <span class="token operator">:</span> <span class="token string">"number is: -170365, need >= 2"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"@type"</span> <span class="token operator">:</span> <span class="token string">"java.lang.IllegalArgumentException"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"message"</span> <span class="token operator">:</span> <span class="token string">"number is: -170365, need >= 2"</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">]</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token punctuation">{</span>
|
|
<span class="token property">"type"</span> <span class="token operator">:</span> <span class="token string">"watch"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"cost"</span> <span class="token operator">:</span> <span class="token number">0.033375</span><span class="token punctuation">,</span>
|
|
<span class="token property">"jobId"</span> <span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>
|
|
<span class="token property">"ts"</span> <span class="token operator">:</span> <span class="token number">1596703454241</span><span class="token punctuation">,</span>
|
|
<span class="token property">"value"</span> <span class="token operator">:</span> <span class="token punctuation">[</span>
|
|
<span class="token punctuation">[</span>
|
|
<span class="token number">1</span>
|
|
<span class="token punctuation">]</span><span class="token punctuation">,</span>
|
|
<span class="token punctuation">[</span>
|
|
<span class="token number">2</span><span class="token punctuation">,</span>
|
|
<span class="token number">2</span><span class="token punctuation">,</span>
|
|
<span class="token number">2</span><span class="token punctuation">,</span>
|
|
<span class="token number">2</span><span class="token punctuation">,</span>
|
|
<span class="token number">13</span><span class="token punctuation">,</span>
|
|
<span class="token number">491</span>
|
|
<span class="token punctuation">]</span><span class="token punctuation">,</span>
|
|
<span class="token null keyword">null</span>
|
|
<span class="token punctuation">]</span><span class="token punctuation">,</span>
|
|
<span class="token property">"sizeLimit"</span> <span class="token operator">:</span> <span class="token number">10485760</span><span class="token punctuation">,</span>
|
|
<span class="token property">"expand"</span> <span class="token operator">:</span> <span class="token number">1</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">]</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token property">"consumerId"</span> <span class="token operator">:</span> <span class="token string">"8ecb9cb7c7804d5d92e258b23d5245cc_1"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"sessionId"</span> <span class="token operator">:</span> <span class="token string">"2b085b5d-883b-4914-ab35-b2c5c1d5aa2a"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"state"</span> <span class="token operator">:</span> <span class="token string">"SUCCEEDED"</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 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 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 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 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 class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>watch \u547D\u4EE4\u7ED3\u679C\u7684<code>value</code>\u4E3A watch-experss \u7684\u503C\uFF0C\u4E0A\u9762\u547D\u4EE4\u4E2D\u4E3A<code>{params, returnObj, throwExp}</code>\uFF0C\u6240\u4EE5 watch \u7ED3\u679C\u7684 value \u4E3A\u4E00\u4E2A\u957F\u5EA6\u4E3A 3 \u7684\u6570\u7EC4\uFF0C\u6BCF\u4E2A\u5143\u7D20\u5206\u522B\u5BF9\u5E94\u76F8\u5E94\u987A\u5E8F\u7684\u8868\u8FBE\u5F0F\u3002 \u8BF7\u53C2\u8003"<a href="#change_watch_value_to_map">watch \u547D\u4EE4\u8F93\u51FA map \u5BF9\u8C61</a>"\u5C0F\u8282\u3002</p><h4 id="\u4E2D\u65AD\u547D\u4EE4\u6267\u884C" tabindex="-1"><a class="header-anchor" href="#\u4E2D\u65AD\u547D\u4EE4\u6267\u884C" aria-hidden="true">#</a> \u4E2D\u65AD\u547D\u4EE4\u6267\u884C</h4><p>\u4E2D\u65AD\u4F1A\u8BDD\u6B63\u5728\u8FD0\u884C\u7684\u524D\u53F0 Job\uFF08\u524D\u53F0\u4EFB\u52A1\uFF09\uFF1A</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">curl</span> -Ss -XPOST http://localhost:8563/api -d <span class="token string">''</span>'
|
|
<span class="token punctuation">{</span>
|
|
<span class="token string">"action"</span><span class="token builtin class-name">:</span><span class="token string">"interrupt_job"</span>,
|
|
<span class="token string">"sessionId"</span> <span class="token builtin class-name">:</span> <span class="token string">"2b085b5d-883b-4914-ab35-b2c5c1d5aa2a"</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token string">''</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></div><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>{
|
|
"state" : "SUCCEEDED",
|
|
"body" : {
|
|
"jobStatus" : "TERMINATED",
|
|
"jobId" : 3
|
|
}
|
|
}
|
|
</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><h4 id="\u5173\u95ED\u4F1A\u8BDD" tabindex="-1"><a class="header-anchor" href="#\u5173\u95ED\u4F1A\u8BDD" aria-hidden="true">#</a> \u5173\u95ED\u4F1A\u8BDD</h4><p>\u6307\u5B9A\u4F1A\u8BDD ID\uFF0C\u5173\u95ED\u4F1A\u8BDD\u3002</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">curl</span> -Ss -XPOST http://localhost:8563/api -d <span class="token string">''</span>'
|
|
<span class="token punctuation">{</span>
|
|
<span class="token string">"action"</span><span class="token builtin class-name">:</span><span class="token string">"close_session"</span>,
|
|
<span class="token string">"sessionId"</span> <span class="token builtin class-name">:</span> <span class="token string">"2b085b5d-883b-4914-ab35-b2c5c1d5aa2a"</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token string">''</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></div><div class="language-json ext-json line-numbers-mode"><pre class="language-json"><code><span class="token punctuation">{</span>
|
|
<span class="token property">"state"</span><span class="token operator">:</span> <span class="token string">"SUCCEEDED"</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></div><h3 id="\u9274\u6743" tabindex="-1"><a class="header-anchor" href="#\u9274\u6743" aria-hidden="true">#</a> \u9274\u6743</h3>`,71),h=n("\u53C2\u8003\uFF1A "),g=n("auth"),y=s("h3",{id:"web-ui",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#web-ui","aria-hidden":"true"},"#"),n(" Web UI")],-1),_=s("p",null,[s("img",{src:i,alt:"",title:"arthas web ui"})],-1),j=n("\u4E00\u4E2A\u57FA\u4E8E Http API \u63A5\u53E3\u5B9E\u73B0\u7684 Web UI\uFF0C\u8BBF\u95EE\u5730\u5740\u4E3A\uFF1A "),f={href:"http://127.0.0.1:8563/ui",target:"_blank",rel:"noopener noreferrer"},x=n("http://127.0.0.1:8563/ui"),I=n(" \u3002"),E=t(`<p>\u5DF2\u5B9E\u73B0\u529F\u80FD\uFF1A</p><ul><li>\u521B\u5EFA\u4F1A\u8BDD</li><li>\u590D\u5236\u5E76\u6253\u5F00 url \u52A0\u5165\u4F1A\u8BDD\uFF0C\u591A\u4EBA\u5171\u4EAB\u4F1A\u8BDD</li><li>\u5468\u671F\u6027\u62C9\u53D6\u4F1A\u8BDD\u547D\u4EE4\u7ED3\u679C\u6D88\u606F</li><li>\u5237\u65B0\u9875\u9762\u6216\u8005\u52A0\u5165\u4F1A\u8BDD\u62C9\u53D6\u4F1A\u8BDD\u5386\u53F2\u547D\u4EE4\u6D88\u606F</li><li>\u8F93\u5165\u547D\u4EE4/\u4E2D\u65AD\u547D\u4EE4\u72B6\u6001\u63A7\u5236</li></ul><p>\u5F85\u5F00\u53D1\u529F\u80FD\uFF1A</p><ul><li>\u6539\u8FDB\u5C06\u547D\u4EE4\u7ED3\u679C\u6D88\u606F\u53EF\u8BFB\u6027</li><li>\u547D\u4EE4\u8F93\u5165\u652F\u6301\u81EA\u52A8\u5B8C\u6210\u53CA\u547D\u4EE4\u6A21\u677F</li><li>\u63D0\u4F9B\u547D\u4EE4\u5E2E\u52A9</li><li>\u652F\u6301\u4E2A\u4EBA\u9009\u9879\u8BBE\u7F6E</li></ul><p><a id="special_command_results"></a></p><h3 id="\u7279\u6B8A\u547D\u4EE4\u7ED3\u679C" tabindex="-1"><a class="header-anchor" href="#\u7279\u6B8A\u547D\u4EE4\u7ED3\u679C" aria-hidden="true">#</a> \u7279\u6B8A\u547D\u4EE4\u7ED3\u679C</h3><h4 id="status" tabindex="-1"><a class="header-anchor" href="#status" aria-hidden="true">#</a> status</h4><div class="language-json ext-json line-numbers-mode"><pre class="language-json"><code><span class="token punctuation">{</span>
|
|
<span class="token property">"jobId"</span><span class="token operator">:</span> <span class="token number">5</span><span class="token punctuation">,</span>
|
|
<span class="token property">"statusCode"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
|
<span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"status"</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></div><p><code>type</code>\u4E3A<code>status</code>\u8868\u793A\u547D\u4EE4\u6267\u884C\u72B6\u6001\uFF1A</p><p>\u6BCF\u4E2A\u547D\u4EE4\u6267\u884C\u7ED3\u675F\u540E\u90FD\u6709\u552F\u4E00\u4E00\u4E2A status \u7ED3\u679C\u3002<code>statusCode</code> \u4E3A 0 \u8868\u793A\u6267\u884C\u6210\u529F\uFF0C<code>statusCode</code> \u4E3A\u975E 0 \u503C\u8868\u793A\u6267\u884C\u5931\u8D25\uFF0C\u7C7B\u4F3C\u8FDB\u7A0B\u9000\u51FA\u7801(exit code)\u3002</p><p>\u547D\u4EE4\u6267\u884C\u5931\u8D25\u65F6\u4E00\u822C\u4F1A\u63D0\u4F9B\u9519\u8BEF\u6D88\u606F\uFF0C\u5982\uFF1A</p><div class="language-json ext-json line-numbers-mode"><pre class="language-json"><code><span class="token punctuation">{</span>
|
|
<span class="token property">"jobId"</span><span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>
|
|
<span class="token property">"message"</span><span class="token operator">:</span> <span class="token string">"The argument 'class-pattern' is required"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"statusCode"</span><span class="token operator">:</span> <span class="token number">-10</span><span class="token punctuation">,</span>
|
|
<span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"status"</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></div><h4 id="input-status" tabindex="-1"><a class="header-anchor" href="#input-status" aria-hidden="true">#</a> input_status</h4><div class="language-json ext-json line-numbers-mode"><pre class="language-json"><code><span class="token punctuation">{</span>
|
|
<span class="token property">"inputStatus"</span><span class="token operator">:</span> <span class="token string">"ALLOW_INPUT"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"input_status"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"jobId"</span><span class="token operator">:</span> <span class="token number">0</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></div><p><code>type</code>\u4E3A<code>input_status</code>\u8868\u793A\u8F93\u5165\u72B6\u6001\uFF1A</p><p>\u7528\u4E8E UI \u4EA4\u4E92\u65F6\u63A7\u5236\u7528\u6237\u8F93\u5165\uFF0C\u6BCF\u6B21\u6267\u884C\u547D\u4EE4\u524D\u540E\u4F1A\u53D1\u9001\u6539\u53D8\u7684\u6D88\u606F\u3002 <code>inputStatus</code> \u7684\u503C\u8BF4\u660E\uFF1A</p><ul><li><code>ALLOW_INPUT</code> : \u5141\u8BB8\u7528\u6237\u8F93\u5165\u547D\u4EE4\uFF0C\u8868\u793A\u4F1A\u8BDD\u6CA1\u6709\u5728\u6267\u884C\u7684\u524D\u53F0\u547D\u4EE4\uFF0C\u53EF\u4EE5\u63A5\u53D7\u65B0\u7684\u547D\u4EE4\u3002</li><li><code>ALLOW_INTERRUPT</code> : \u5141\u8BB8\u7528\u6237\u4E2D\u65AD\u547D\u4EE4\u6267\u884C\uFF0C\u8868\u793A\u5F53\u524D\u6B63\u5728\u6267\u884C\u547D\u4EE4\uFF0C\u7528\u6237\u53EF\u4EE5\u53D1\u9001<code>interrupt_job</code>\u4E2D\u65AD\u6267\u884C\u3002</li><li><code>DISABLED</code> : \u7981\u7528\u72B6\u6001\uFF0C\u4E0D\u80FD\u8F93\u5165\u547D\u4EE4\u4E5F\u4E0D\u80FD\u4E2D\u65AD\u547D\u4EE4\u3002</li></ul><h4 id="command" tabindex="-1"><a class="header-anchor" href="#command" aria-hidden="true">#</a> command</h4><div class="language-json ext-json line-numbers-mode"><pre class="language-json"><code><span class="token punctuation">{</span>
|
|
<span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"command"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"jobId"</span><span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>
|
|
<span class="token property">"state"</span><span class="token operator">:</span> <span class="token string">"SCHEDULED"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"command"</span><span class="token operator">:</span> <span class="token string">"watch demo.MathGame primeFactors \\"{params, returnObj, throwExp}\\" "</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></div><p><code>type</code> \u4E3A<code>command</code>\u8868\u793A\u8F93\u5165\u7684\u547D\u4EE4\u6570\u636E\uFF1A</p><p>\u7528\u4E8E\u4EA4\u4E92 UI \u56DE\u663E\u7528\u6237\u8F93\u5165\u7684\u547D\u4EE4\uFF0C\u62C9\u53D6\u7684\u4F1A\u8BDD\u547D\u4EE4\u6D88\u606F\u5386\u53F2\u4F1A\u5305\u542B<code>command</code>\u7C7B\u578B\u7684\u6D88\u606F\uFF0C\u6309\u987A\u5E8F\u5904\u7406\u5373\u53EF\u3002</p><h4 id="enhancer" tabindex="-1"><a class="header-anchor" href="#enhancer" aria-hidden="true">#</a> enhancer</h4><div class="language-json ext-json line-numbers-mode"><pre class="language-json"><code><span class="token punctuation">{</span>
|
|
<span class="token property">"success"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>
|
|
<span class="token property">"jobId"</span><span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>
|
|
<span class="token property">"effect"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
<span class="token property">"listenerId"</span><span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span>
|
|
<span class="token property">"cost"</span><span class="token operator">:</span> <span class="token number">24</span><span class="token punctuation">,</span>
|
|
<span class="token property">"classCount"</span><span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span>
|
|
<span class="token property">"methodCount"</span><span class="token operator">:</span> <span class="token number">1</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"enhancer"</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 class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><code>type</code>\u4E3A<code>enhancer</code>\u8868\u793A\u7C7B\u589E\u5F3A\u7ED3\u679C\uFF1A</p><p><code>trace/watch/jad/tt</code>\u7B49\u547D\u4EE4\u9700\u8981\u5BF9\u7C7B\u8FDB\u884C\u589E\u5F3A\uFF0C\u4F1A\u63A5\u6536\u5230\u8FD9\u4E2A<code>enhancer</code>\u7ED3\u679C\u3002\u53EF\u80FD\u51FA\u73B0<code>enhancer</code>\u7ED3\u679C\u6210\u529F\uFF0C\u4F46\u6CA1\u6709\u547D\u4E2D\u65B9\u6CD5\u7684\u60C5\u51B5\uFF0C\u5BA2\u6237\u7AEF\u53EF\u4EE5\u6839\u636E<code>enhancer</code>\u7ED3\u679C\u63D0\u793A\u7528\u6237\u3002</p><h3 id="\u6848\u4F8B" tabindex="-1"><a class="header-anchor" href="#\u6848\u4F8B" aria-hidden="true">#</a> \u6848\u4F8B</h3><h4 id="\u83B7\u53D6-java-\u5E94\u7528\u7684-classpath" tabindex="-1"><a class="header-anchor" href="#\u83B7\u53D6-java-\u5E94\u7528\u7684-classpath" aria-hidden="true">#</a> \u83B7\u53D6 Java \u5E94\u7528\u7684 Classpath</h4><p>\u901A\u8FC7 Http api \u67E5\u8BE2 Java \u5E94\u7528\u7684 System properties\uFF0C\u63D0\u53D6<code>java.class.path</code>\u7684\u503C\u3002</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token assign-left variable">json_data</span><span class="token operator">=</span><span class="token variable"><span class="token variable">$(</span><span class="token function">curl</span> -Ss -XPOST http://localhost:8563/api -d <span class="token string">'
|
|
{
|
|
"action":"exec",
|
|
"command":"sysprop"
|
|
}'</span><span class="token variable">)</span></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></div><ul><li>\u4F7F\u7528<code>sed</code>\u63D0\u53D6\u503C\uFF1A</li></ul><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token assign-left variable">class_path</span><span class="token operator">=</span><span class="token variable"><span class="token variable">$(</span><span class="token builtin class-name">echo</span> $json_data <span class="token operator">|</span> <span class="token function">tr</span> -d <span class="token string">'\\n'</span> <span class="token operator">|</span> <span class="token function">sed</span> <span class="token string">'s/.*"java.class.path":"\\([^"]*\\).*/\\1/'</span><span class="token variable">)</span></span>
|
|
<span class="token builtin class-name">echo</span> <span class="token string">"classpath: <span class="token variable">$class_path</span>"</span>
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><ul><li>\u4F7F\u7528<code>json_pp/awk</code>\u63D0\u53D6\u503C</li></ul><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token assign-left variable">class_path</span><span class="token operator">=</span><span class="token variable"><span class="token variable">$(</span><span class="token builtin class-name">echo</span> $json_data <span class="token operator">|</span> <span class="token function">tr</span> -d <span class="token string">'\\n'</span> <span class="token operator">|</span> json_pp <span class="token operator">|</span> <span class="token function">grep</span> java.class.path <span class="token operator">|</span> <span class="token function">awk</span> -F<span class="token string">'"'</span> <span class="token string">'{ print $4 }'</span><span class="token variable">)</span></span>
|
|
<span class="token builtin class-name">echo</span> <span class="token string">"classpath: <span class="token variable">$class_path</span>"</span>
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><p>\u8F93\u51FA\u5185\u5BB9\uFF1A</p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>classpath: demo-arthas-spring-boot.jar
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>\u6CE8\u610F\uFF1A</p><ul><li><code>echo $json_data | tr -d '\\n'</code> : \u5220\u9664\u6362\u884C\u7B26(<code>line.separator</code>\u7684\u503C)\uFF0C\u907F\u514D\u5F71\u54CD<code>sed</code>/<code>json_pp</code>\u547D\u4EE4\u5904\u7406\u3002</li><li><code>awk -F'"' '{ print $4 }'</code> : \u4F7F\u7528\u53CC\u5F15\u53F7\u4F5C\u4E3A\u5206\u9694\u7B26\u53F7</li></ul><p><a id="change_watch_value_to_map"></a></p><h4 id="watch-\u547D\u4EE4\u8F93\u51FA-map-\u5BF9\u8C61" tabindex="-1"><a class="header-anchor" href="#watch-\u547D\u4EE4\u8F93\u51FA-map-\u5BF9\u8C61" aria-hidden="true">#</a> watch \u547D\u4EE4\u8F93\u51FA map \u5BF9\u8C61</h4>`,39),S=n("watch \u7684\u7ED3\u679C\u503C\u7531\u8BA1\u7B97"),w=s("code",null,"watch-express",-1),D=n(" ognl \u8868\u8FBE\u5F0F\u4EA7\u751F\uFF0C\u53EF\u4EE5\u901A\u8FC7\u6539\u53D8 ognl \u8868\u8FBE\u5F0F\u6765\u751F\u6210\u60F3\u8981\u7684\u503C\uFF0C\u8BF7\u53C2\u8003"),C={href:"https://commons.apache.org/proper/commons-ognl/language-guide.html",target:"_blank",rel:"noopener noreferrer"},T=n("OGNL \u6587\u6863"),A=n("\u3002"),O=t(`<div class="custom-container tip"><p class="custom-container-title">\u63D0\u793A</p><p>Maps can also be created using a special syntax.</p><p>#{ "foo" : "foo value", "bar" : "bar value" }</p><p>This creates a Map initialized with mappings for "foo" and "bar".</p></div><p>\u4E0B\u9762\u7684\u547D\u4EE4\u751F\u6210 map \u683C\u5F0F\u7684\u503C\uFF1A</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">watch</span> *MathGame prime* <span class="token string">'#{ "params" : params, "returnObj" : returnObj, "throwExp": throwExp}'</span> -x <span class="token number">2</span> -n <span class="token number">5</span>
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>\u5728 Telnet shell/WebConsole \u4E2D\u6267\u884C\u4E0A\u9762\u7684\u547D\u4EE4\uFF0C\u8F93\u51FA\u7684\u7ED3\u679C\uFF1A</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token assign-left variable">ts</span><span class="token operator">=</span><span class="token number">2020</span>-08-06 <span class="token number">16</span>:57:20<span class="token punctuation">;</span> <span class="token punctuation">[</span>cost<span class="token operator">=</span><span class="token number">0</span>.241735ms<span class="token punctuation">]</span> <span class="token assign-left variable">result</span><span class="token operator">=</span>@LinkedHashMap<span class="token punctuation">[</span>
|
|
@String<span class="token punctuation">[</span>params<span class="token punctuation">]</span>:@Object<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">[</span>
|
|
@Integer<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span>,
|
|
<span class="token punctuation">]</span>,
|
|
@String<span class="token punctuation">[</span>returnObj<span class="token punctuation">]</span>:@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">241</span><span class="token punctuation">]</span>,
|
|
@Integer<span class="token punctuation">[</span><span class="token number">379</span><span class="token punctuation">]</span>,
|
|
<span class="token punctuation">]</span>,
|
|
@String<span class="token punctuation">[</span>throwExp<span class="token punctuation">]</span>:null,
|
|
<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 class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>\u7528 Http api \u6267\u884C\u4E0A\u9762\u7684\u547D\u4EE4\uFF0C\u6CE8\u610F\u5BF9 JSON \u53CC\u5F15\u53F7\u8F6C\u4E49\uFF1A</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">curl</span> -Ss -XPOST http://localhost:8563/api -d @- <span class="token operator"><<</span> <span class="token string">EOF
|
|
{
|
|
"action":"exec",
|
|
"execTimeout": 30000,
|
|
"command":"watch *MathGame prime* '#{ <span class="token entity" title="\\"">\\"</span>params<span class="token entity" title="\\"">\\"</span> : params, <span class="token entity" title="\\"">\\"</span>returnObj<span class="token entity" title="\\"">\\"</span> : returnObj, <span class="token entity" title="\\"">\\"</span>throwExp<span class="token entity" title="\\"">\\"</span>: throwExp}' -n 3 "
|
|
}
|
|
EOF</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></div><p>Http api \u6267\u884C\u7ED3\u679C\uFF1A</p><div class="language-json ext-json line-numbers-mode"><pre class="language-json"><code><span class="token punctuation">{</span>
|
|
<span class="token property">"body"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
...
|
|
<span class="token property">"results"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|
...
|
|
<span class="token punctuation">{</span>
|
|
...
|
|
<span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"watch"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"value"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
<span class="token property">"params"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|
<span class="token number">1</span>
|
|
<span class="token punctuation">]</span><span class="token punctuation">,</span>
|
|
<span class="token property">"returnObj"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|
<span class="token number">2</span><span class="token punctuation">,</span>
|
|
<span class="token number">5</span><span class="token punctuation">,</span>
|
|
<span class="token number">17</span><span class="token punctuation">,</span>
|
|
<span class="token number">23</span><span class="token punctuation">,</span>
|
|
<span class="token number">23</span>
|
|
<span class="token punctuation">]</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
|
<span class="token punctuation">{</span>
|
|
...
|
|
<span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"watch"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"value"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
<span class="token property">"params"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|
<span class="token number">-98278</span>
|
|
<span class="token punctuation">]</span><span class="token punctuation">,</span>
|
|
<span class="token property">"throwExp"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
|
<span class="token property">"@type"</span><span class="token operator">:</span> <span class="token string">"java.lang.IllegalArgumentException"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"localizedMessage"</span><span class="token operator">:</span> <span class="token string">"number is: -98278, need >= 2"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"message"</span><span class="token operator">:</span> <span class="token string">"number is: -98278, need >= 2"</span><span class="token punctuation">,</span>
|
|
<span class="token property">"stackTrace"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
|
...
|
|
<span class="token punctuation">]</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span>
|
|
<span class="token punctuation">}</span><span class="token punctuation">,</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 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 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>\u53EF\u4EE5\u770B\u5230 watch \u7ED3\u679C\u7684 value \u53D8\u6210 map \u5BF9\u8C61\uFF0C\u7A0B\u5E8F\u53EF\u4EE5\u901A\u8FC7 key \u8BFB\u53D6\u7ED3\u679C\u3002</p>`,10);function L(P,U){const e=o("ExternalLinkIcon"),p=o("RouterLink");return c(),u("div",null,[v,s("p",null,[s("a",k,[b,m,a(e)])]),q,s("p",null,[h,a(p,{to:"/doc/auth.html"},{default:r(()=>[g]),_:1})]),y,_,s("p",null,[j,s("a",f,[x,a(e)]),I]),E,s("p",null,[S,w,D,s("a",C,[T,a(e)]),A]),O])}var H=l(d,[["render",L],["__file","http-api.html.vue"]]);export{H as default};
|