|
|
<!DOCTYPE html>
|
|
|
<html lang="en-US">
|
|
|
<head>
|
|
|
<meta charset="utf-8">
|
|
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
|
<meta name="generator" content="VuePress 2.0.0-beta.49">
|
|
|
<style>
|
|
|
:root {
|
|
|
--c-bg: #fff;
|
|
|
}
|
|
|
html.dark {
|
|
|
--c-bg: #22272e;
|
|
|
}
|
|
|
html, body {
|
|
|
background-color: var(--c-bg);
|
|
|
}
|
|
|
</style>
|
|
|
<script>
|
|
|
const userMode = localStorage.getItem('vuepress-color-scheme');
|
|
|
const systemDarkMode = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
|
|
|
if (userMode === 'dark' || (userMode !== 'light' && systemDarkMode)) {
|
|
|
document.documentElement.classList.toggle('dark', true);
|
|
|
}
|
|
|
</script>
|
|
|
<link rel="icon" href="/images/favicon.ico"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta property="og:title" content="Arthas"><meta property="og:image:alt" content="Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas - alibaba/arthas: Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas"><meta property="og:image" content="/images/arthas_mate_image.png"><meta property="og:description" content="Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas - alibaba/arthas: Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas"><meta property="og:image:width" content="1200"><meta property="og:image:height" content="600"><meta property="twitter:image:src" content="/images/arthas_mate_image.png"><meta property="twitter:image:alt" content="Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas - alibaba/arthas: Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas"><meta itemprop="name" content="Arthas"><meta itemprop="image" content="/images/arthas_mate_image.png"><meta itemprop="description" content="Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas - alibaba/arthas: Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas"><script>
|
|
|
var _hmt = _hmt || [];
|
|
|
(function() {
|
|
|
var hm = document.createElement("script");
|
|
|
hm.src = "https://hm.baidu.com/hm.js?d5c5e25b100f0eb51a4c35c8a86ea9b4";
|
|
|
var s = document.getElementsByTagName("script")[0];
|
|
|
s.parentNode.insertBefore(hm, s);
|
|
|
})();
|
|
|
</script><title>trace | arthas</title><meta name="description" content="arthas user document">
|
|
|
<link rel="modulepreload" href="/assets/app.bd2aade7.js"><link rel="modulepreload" href="/assets/trace.html.80c1395b.js"><link rel="modulepreload" href="/assets/trace.html.c9726067.js"><link rel="prefetch" href="/assets/index.html.ec74869a.js"><link rel="prefetch" href="/assets/index.html.d3cced9f.js"><link rel="prefetch" href="/assets/index.html.c11a8683.js"><link rel="prefetch" href="/assets/advanced-use.html.d690d46c.js"><link rel="prefetch" href="/assets/advice-class.html.4e93ebd7.js"><link rel="prefetch" href="/assets/agent.html.a02fd5cb.js"><link rel="prefetch" href="/assets/arthas-properties.html.e0301951.js"><link rel="prefetch" href="/assets/arthas3.html.d1633eb8.js"><link rel="prefetch" href="/assets/async.html.17ea43ab.js"><link rel="prefetch" href="/assets/auth.html.37ca6bb5.js"><link rel="prefetch" href="/assets/base64.html.b9530fc8.js"><link rel="prefetch" href="/assets/batch-support.html.a2be35e2.js"><link rel="prefetch" href="/assets/cat.html.42885227.js"><link rel="prefetch" href="/assets/classloader.html.faacf70e.js"><link rel="prefetch" href="/assets/cls.html.af39fd39.js"><link rel="prefetch" href="/assets/commands.html.9dc0463a.js"><link rel="prefetch" href="/assets/contact-us.html.16fb01ac.js"><link rel="prefetch" href="/assets/dashboard.html.0b694615.js"><link rel="prefetch" href="/assets/docker.html.797da397.js"><link rel="prefetch" href="/assets/download.html.a75cd477.js"><link rel="prefetch" href="/assets/dump.html.e5e17e0e.js"><link rel="prefetch" href="/assets/echo.html.922d5af6.js"><link rel="prefetch" href="/assets/faq.html.abd854f1.js"><link rel="prefetch" href="/assets/getstatic.html.77a5a68e.js"><link rel="prefetch" href="/assets/grep.html.75fa6737.js"><link rel="prefetch" href="/assets/groovy.html.bcb88dfe.js"><link rel="prefetch" href="/assets/heapdump.html.5e26a91c.js"><link rel="prefetch" href="/assets/help.html.9365d9ca.js"><link rel="prefetch" href="/assets/history.html.19b5039d.js"><link rel="prefetch" href="/assets/http-api.html.1b6f4877.js"><link rel="prefetch" href="/assets/idea-plugin.html.438f3f13.js"><link rel="prefetch" href="/assets/install-detail.html.cfd3d763.js"><link rel="prefetch" href="/assets/jad.html.45a48802.js"><link rel="prefetch" href="/assets/jvm.html.9e2ef28b.js"><link rel="prefetch" href="/assets/keymap.html.82e95f8e.js"><link rel="prefetch" href="/assets/logger.html.38490b13.js"><link rel="prefetch" href="/assets/manual-install.html.1daf5a51.js"><link rel="prefetch" href="/assets/mbean.html.b5a19b16.js"><link rel="prefetch" href="/assets/mc.html.28a839a5.js"><link rel="prefetch" href="/assets/memory.html.21a8a665.js"><link rel="prefetch" href="/assets/monitor.html.ea7499e3.js"><link rel="prefetch" href="/assets/ognl.html.c55aa597.js"><link rel="prefetch" href="/assets/options.html.da3ef3a3.js"><link rel="prefetch" href="/assets/perfcounter.html.cfebcf2d.js"><link rel="prefetch" href="/assets/profiler.html.cd7e1584.js"><link rel="prefetch" href="/assets/pwd.html.9c92f559.js"><link rel="prefetch" href="/assets/quick-start.html.d9abe6d7.js"><link rel="prefetch" href="/assets/quit.html.3f89724d.js"><link rel="prefetch" href="/assets/redefine.html.8a08813b.js"><link rel="prefetch" href="/assets/release-notes.html.dc8ff1f0.js"><link rel="prefetch" href="/assets/reset.html.1413086f.js"><link rel="prefetch" href="/assets/retransform.html.342303bb.js"><link rel="prefetch" href="/assets/save-log.html.c42ff748.js"><link rel="prefetch" href="/assets/sc.html.f9c5b69c.js"><link rel="prefetch" href="/assets/session.html.6904a40b.js"><link rel="prefetch" href="/assets/sm.html.a212974a.js"><link rel="prefetch" href="/assets/spring-boot-starter.html.e62a7a68.js"><link rel="prefetch" href="/assets/stack.html.a3201354.js"><link rel="prefetch" href="/assets/start-arthas.html.5421937d.js"><link rel="prefetch" href="/assets/stop.html.e7556014.js"><link rel="prefetch" href="/assets/sysenv.html.51ba409a.js"><link rel="prefetch" href="/assets/sysprop.html.480d71dd.js"><link rel="prefetch" href="/assets/tee.html.09a9aee7.js"><link rel="prefetch" href="/assets/thread.html.f9fb3f7f.js"><link rel="prefetch" href="/assets/trace.html.802884f0.js"><link rel="prefetch" href="/assets/tt.html.90727eec.js"><link rel="prefetch" href="/assets/tunnel.html.1e68078f.js"><link rel="prefetch" href="/assets/version.html.1939b7e3.js"><link rel="prefetch" href="/assets/vmoption.html.7e8e3fb6.js"><link rel="prefetch" href="/assets/vmtool.html.bc281a9f.js"><link rel="prefetch" href="/assets/watch.html.f2a08eb8.js"><link rel="prefetch" href="/assets/web-console.html.b1b2d995.js"><link rel="prefetch" href="/assets/index.html.3a2f8949.js"><link rel="prefetch" href="/assets/advanced-use.html.cc1fae23.js"><link rel="prefetch" href="/assets/advice-class.html.c85748d6.js"><link rel="prefetch" href="/assets/agent.html.6d5822c4.js"><link rel="prefetch" href="/assets/arthas-properties.html.0a5926f9.js"><link rel="prefetch" href="/assets/async.html.1026bdce.js"><link rel="prefetch" href="/assets/auth.html.d2f91944.js"><link rel="prefetch" href="/assets/base64.html.54234c7b.js"><link rel="prefetch" href="/assets/batch-support.html.3757e6f4.js"><link rel="prefetch" href="/assets/cat.html.7fe5df76.js"><link rel="prefetch" href="/assets/classloader.html.30e77ffd.js"><link rel="prefetch" href="/assets/cls.html.5c798b59.js"><link rel="prefetch" href="/assets/commands.html.1e21cec8.js"><link rel="prefetch" href="/assets/contact-us.html.157b2624.js"><link rel="prefetch" href="/assets/dashboard.html.d06a3034.js"><link rel="prefetch" href="/assets/docker.html.d36bba26.js"><link rel="prefetch" href="/assets/download.html.73fc2f14.js"><link rel="prefetch" href="/assets/dump.html.8533dea7.js"><link rel="prefetch" href="/assets/echo.html.d08e1abe.js"><link rel="prefetch" href="/assets/faq.html.27684b86.js"><link rel="prefetch" href="/assets/getstatic.html.039bd4c7.js"><link rel="prefetch" href="/assets/grep.html.557e5c0d.js"><link rel="prefetch" href="/assets/groovy.html.a98236a6.js"><link rel="prefetch" href="/assets/heapdump.html.f9cf25e4.js"><link rel="prefetch" href="/assets/help.html.af61dc8b.js"><link rel="prefetch" href="/assets/history.html.bb1e238f.js"><link rel="prefetch" href="/assets/http-api.html.d8f9cf6b.js"><link rel="prefetch" href="/assets/idea-plugin.html.be6cfb55.js"><link rel="prefetch" href="/assets/install-detail.html.2a3c7491.js"><link rel="prefetch" href="/assets/jad.html.0de0c5e4.js"><link rel="prefetch" href="/assets/jvm.html.1ecd23d5.js"><link rel="prefetch" href="/assets/keymap.html.7f907b4a.js"><link rel="prefetch" href="/assets/logger.html.05a707f0.js"><link rel="prefetch" href="/assets/manual-install.html.94267611.js"><link rel="prefetch" href="/assets/mbean.html.ab8bf029.js"><link rel="prefetch" href="/assets/mc.html.ebc8f6c6.js"><link rel="prefetch" href="/assets/memory.html.d99cf236.js"><link rel="prefetch" href="/assets/monitor.html.0e25aeeb.js"><link rel="prefetch" href="/assets/ognl.html.463064ec.js"><link rel="prefetch" href="/assets/options.html.0a60e172.js"><link rel="prefetch" href="/assets/perfcounter.html.56cc287b.js"><link rel="prefetch" href="/assets/profiler.html.bb3be3e4.js"><link rel="prefetch" href="/assets/pwd.html.4ff08309.js"><link rel="prefetch" href="/assets/quick-start.html.f017229d.js"><link rel="prefetch" href="/assets/quit.html.5f2533ff.js"><link rel="prefetch" href="/assets/redefine.html.497bc2ff.js"><link rel="prefetch" href="/assets/release-notes.html.b32334af.js"><link rel="prefetch" href="/assets/reset.html.e5115576.js"><link rel="prefetch" href="/assets/retransform.html.2e291e26.js"><link rel="prefetch" href="/assets/save-log.html.90b53239.js"><link rel="prefetch" href="/assets/sc.html.e33bb0ca.js"><link rel="prefetch" href="/assets/session.html.634b618d.js"><link rel="prefetch" href="/assets/sm.html.28fd9f13.js"><link rel="prefetch" href="/assets/spring-boot-starter.html.32190257.js"><link rel="prefetch" href="/assets/stack.html.ff1c60c9.js"><link rel="prefetch" href="/assets/start-arthas.html.da02bebb.js"><link rel="prefetch" href="/assets/stop.html.1b2fd2e3.js"><link rel="prefetch" href="/assets/sysenv.html.9c390518.js"><link rel="prefetch" href="/assets/sysprop.html.458454e7.js"><link rel="prefetch" href="/assets/tee.html.9956d861.js"><link rel="prefetch" href="/assets/thread.html.7aa1204e.js"><link rel="prefetch" href="/assets/tt.html.29320194.js"><link rel="prefetch" href="/assets/tunnel.html.d81dec3a.js"><link rel="prefetch" href="/assets/version.html.13288d78.js"><link rel="prefetch" href="/assets/vmoption.html.8f5a0c4f.js"><link rel="prefetch" href="/assets/vmtool.html.e00609f9.js"><link rel="prefetch" href="/assets/watch.html.cf74c868.js"><link rel="prefetch" href="/assets/web-console.html.ec01c3c7.js"><link rel="prefetch" href="/assets/404.html.6ec8a9cd.js"><link rel="prefetch" href="/assets/index.html.5c066ef8.js"><link rel="prefetch" href="/assets/index.html.758b214c.js"><link rel="prefetch" href="/assets/index.html.76261c19.js"><link rel="prefetch" href="/assets/advanced-use.html.bacf9c97.js"><link rel="prefetch" href="/assets/advice-class.html.f9ecd271.js"><link rel="prefetch" href="/assets/agent.html.ca83f763.js"><link rel="prefetch" href="/assets/arthas-properties.html.05c209f7.js"><link rel="prefetch" href="/assets/arthas3.html.37a04c34.js"><link rel="prefetch" href="/assets/async.html.99c90cc5.js"><link rel="prefetch" href="/assets/auth.html.c6e2f754.js"><link rel="prefetch" href="/assets/base64.html.00fa731c.js"><link rel="prefetch" href="/assets/batch-support.html.490857ff.js"><link rel="prefetch" href="/assets/cat.html.bc506c84.js"><link rel="prefetch" href="/assets/classloader.html.44ceda4f.js"><link rel="prefetch" href="/assets/cls.html.4b037a2c.js"><link rel="prefetch" href="/assets/commands.html.71f84f2a.js"><link rel="prefetch" href="/assets/contact-us.html.b14012be.js"><link rel="prefetch" href="/assets/dashboard.html.6dd78583.js"><link rel="prefetch" href="/assets/docker.html.010e0e88.js"><link rel="prefetch" href="/assets/download.html.5881ff87.js"><link rel="prefetch" href="/assets/dump.html.eb0a94f7.js"><link rel="prefetch" href="/assets/echo.html.45a38b84.js"><link rel="prefetch" href="/assets/faq.html.5e884cdc.js"><link rel="prefetch" href="/assets/getstatic.html.977a401d.js"><link rel="prefetch" href="/assets/grep.html.1050092a.js"><link rel="prefetch" href="/assets/groovy.html.2364c6ca.js"><link rel="prefetch" href="/assets/heapdump.html.7f0445cf.js"><link rel="prefetch" href="/assets/help.html.b77ccdc8.js"><link rel="prefetch" href="/assets/history.html.12a39d33.js"><link rel="prefetch" href="/assets/http-api.html.7c8fdc0a.js"><link rel="prefetch" href="/assets/idea-plugin.html.95d9f4c5.js"><link rel="prefetch" href="/assets/install-detail.html.67ac8674.js"><link rel="prefetch" href="/assets/jad.html.ff9a3396.js"><link rel="prefetch" href="/assets/jvm.html.4d95fa2f.js"><link rel="prefetch" href="/assets/keymap.html.91fc23f9.js"><link rel="prefetch" href="/assets/logger.html.9f7f206f.js"><link rel="prefetch" href="/assets/manual-install.html.39eb890a.js"><link rel="prefetch" href="/assets/mbean.html.fa3f3b57.js"><link rel="prefetch" href="/assets/mc.html.0b0f2b53.js"><link rel="prefetch" href="/assets/memory.html.c8befe45.js"><link rel="prefetch" href="/assets/monitor.html.a8d8fa31.js"><link rel="prefetch" href="/assets/ognl.html.aac79e98.js"><link rel="prefetch" href="/assets/options.html.009dcd64.js"><link rel="prefetch" href="/assets/perfcounter.html.ebc76012.js"><link rel="prefetch" href="/assets/profiler.html.8e89a25b.js"><link rel="prefetch" href="/assets/pwd.html.bd0a54d7.js"><link rel="prefetch" href="/assets/quick-start.html.4f68720d.js"><link rel="prefetch" href="/assets/quit.html.3736848b.js"><link rel="prefetch" href="/assets/redefine.html.c5cf8d7e.js"><link rel="prefetch" href="/assets/release-notes.html.4fd5502c.js"><link rel="prefetch" href="/assets/reset.html.d6268d5c.js"><link rel="prefetch" href="/assets/retransform.html.d78055ca.js"><link rel="prefetch" href="/assets/save-log.html.5abc716e.js"><link rel="prefetch" href="/assets/sc.html.6ca17ad7.js"><link rel="prefetch" href="/assets/session.html.e9c8c833.js"><link rel="prefetch" href="/assets/sm.html.6699ffe4.js"><link rel="prefetch" href="/assets/spring-boot-starter.html.0c527697.js"><link rel="prefetch" href="/assets/stack.html.fcfee614.js"><link rel="prefetch" href="/assets/start-arthas.html.31ee061f.js"><link rel="prefetch" href="/assets/stop.html.2e7c2abf.js"><link rel="prefetch" href="/assets/sysenv.html.b451a296.js"><link rel="prefetch" href="/assets/sysprop.html.d930dcd4.js"><link rel="prefetch" href="/assets/tee.html.ee51f52b.js"><link rel="prefetch" href="/assets/thread.html.643cef5a.js"><link rel="prefetch" href="/assets/trace.html.7dfbfb09.js"><link rel="prefetch" href="/assets/tt.html.97b33086.js"><link rel="prefetch" href="/assets/tunnel.html.8d0ac66c.js"><link rel="prefetch" href="/assets/version.html.06950398.js"><link rel="prefetch" href="/assets/vmoption.html.0f459a46.js"><link rel="prefetch" href="/assets/vmtool.html.adfeea8a.js"><link rel="prefetch" href="/assets/watch.html.6eaa9d61.js"><link rel="prefetch" href="/assets/web-console.html.e5cfd775.js"><link rel="prefetch" href="/assets/index.html.c0309f84.js"><link rel="prefetch" href="/assets/advanced-use.html.c6f6a88a.js"><link rel="prefetch" href="/assets/advice-class.html.fba35b96.js"><link rel="prefetch" href="/assets/agent.html.c6a4f516.js"><link rel="prefetch" href="/assets/arthas-properties.html.4d77eb12.js"><link rel="prefetch" href="/assets/async.html.066f186b.js"><link rel="prefetch" href="/assets/auth.html.18dee9de.js"><link rel="prefetch" href="/assets/base64.html.cdf21e2d.js"><link rel="prefetch" href="/assets/batch-support.html.49d042fe.js"><link rel="prefetch" href="/assets/cat.html.572c13ce.js"><link rel="prefetch" href="/assets/classloader.html.7edc6fd1.js"><link rel="prefetch" href="/assets/cls.html.c5d91203.js"><link rel="prefetch" href="/assets/commands.html.4d519f02.js"><link rel="prefetch" href="/assets/contact-us.html.19acb455.js"><link rel="prefetch" href="/assets/dashboard.html.6e0fd9c5.js"><link rel="prefetch" href="/assets/docker.html.57292855.js"><link rel="prefetch" href="/assets/download.html.c9308c0c.js"><link rel="prefetch" href="/assets/dump.html.c69caadc.js"><link rel="prefetch" href="/assets/echo.html.f8fe187e.js"><link rel="prefetch" href="/assets/faq.html.eb698c38.js"><link rel="prefetch" href="/assets/getstatic.html.d5884253.js"><link rel="prefetch" href="/assets/grep.html.25d04700.js"><link rel="prefetch" href="/assets/groovy.html.ecfe8d3e.js"><link rel="prefetch" href="/assets/heapdump.html.55597356.js"><link rel="prefetch" href="/assets/help.html.abb127ac.js"><link rel="prefetch" href="/assets/history.html.7ac5f109.js"><link rel="prefetch" href="/assets/http-api.html.b523afd7.js"><link rel="prefetch" href="/assets/idea-plugin.html.da32568b.js"><link rel="prefetch" href="/assets/install-detail.html.aebaee81.js"><link rel="prefetch" href="/assets/jad.html.527a2e52.js"><link rel="prefetch" href="/assets/jvm.html.1082513f.js"><link rel="prefetch" href="/assets/keymap.html.78b69f28.js"><link rel="prefetch" href="/assets/logger.html.960934f5.js"><link rel="prefetch" href="/assets/manual-install.html.c98b7e1b.js"><link rel="prefetch" href="/assets/mbean.html.2a498b98.js"><link rel="prefetch" href="/assets/mc.html.5b2d98a7.js"><link rel="prefetch" href="/assets/memory.html.b93f2254.js"><link rel="prefetch" href="/assets/monitor.html.db174040.js"><link rel="prefetch" href="/assets/ognl.html.97f0364e.js"><link rel="prefetch" href="/assets/options.html.8632a79a.js"><link rel="prefetch" href="/assets/perfcounter.html.ca091871.js"><link rel="prefetch" href="/assets/profiler.html.2e418321.js"><link rel="prefetch" href="/assets/pwd.html.1cf82844.js"><link rel="prefetch" href="/assets/quick-start.html.5fd27e20.js"><link rel="prefetch" href="/assets/quit.html.079fe8b8.js"><link rel="prefetch" href="/assets/redefine.html.60b71d53.js"><link rel="prefetch" href="/assets/release-notes.html.cfa3e304.js"><link rel="prefetch" href="/assets/reset.html.aeb73063.js"><link rel="prefetch" href="/assets/retransform.html.90b4d2d3.js"><link rel="prefetch" href="/assets/save-log.html.82aeb468.js"><link rel="prefetch" href="/assets/sc.html.4bcd4c16.js"><link rel="prefetch" href="/assets/session.html.1b0f50e8.js"><link rel="prefetch" href="/assets/sm.html.c6b546ef.js"><link rel="prefetch" href="/assets/spring-boot-starter.html.3339aa97.js"><link rel="prefetch" href="/assets/stack.html.cbface9b.js"><link rel="prefetch" href="/assets/start-arthas.html.b496a7a0.js"><link rel="prefetch" href="/assets/stop.html.fda72b6e.js"><link rel="prefetch" href="/assets/sysenv.html.2fcabe0b.js"><link rel="prefetch" href="/assets/sysprop.html.91fd91ff.js"><link rel="prefetch" href="/assets/tee.html.40ab7063.js"><link rel="prefetch" href="/assets/thread.html.c2f26777.js"><link rel="prefetch" href="/assets/tt.html.61e714d4.js"><link rel="prefetch" href="/assets/tunnel.html.e4bc3a2c.js"><link rel="prefetch" href="/assets/version.html.0af4e411.js"><link rel="prefetch" href="/assets/vmoption.html.ae8c7fea.js"><link rel="prefetch" href="/assets/vmtool.html.758e6040.js"><link rel="prefetch" href="/assets/watch.html.656aeaf0.js"><link rel="prefetch" href="/assets/web-console.html.429076db.js"><link rel="prefetch" href="/assets/404.html.5f2befc1.js"><link rel="prefetch" href="/assets/404.86b95e26.js"><link rel="prefetch" href="/assets/Layout.e2e44844.js">
|
|
|
<link rel="stylesheet" href="/assets/style.372e9f20.css">
|
|
|
</head>
|
|
|
<body>
|
|
|
<div id="app"><!--[--><div class="theme-container"><!--[--><header class="navbar"><div class="toggle-sidebar-button" title="toggle sidebar" aria-expanded="false" role="button" tabindex="0"><div class="icon" aria-hidden="true"><span></span><span></span><span></span></div></div><span><a href="/en/" class="" data-v-2aa8cc94><!----><span class="site-name can-hide" data-v-2aa8cc94>arthas</span><span class="navbar-version" data-v-2aa8cc94>v3.6.4</span></a></span><div class="navbar-items-wrapper" style=""><!--[--><!--]--><nav class="navbar-items can-hide"><!--[--><div class="navbar-item"><a href="/en/" class="" aria-label="HOME"><!--[--><!--]--> HOME <!--[--><!--]--></a></div><div class="navbar-item"><a class="external-link" href="/doc/arthas-tutorials.html?language=en&id=arthas-basics" rel="noopener noreferrer" target="_blank" aria-label="ONLINE TUTORIALS"><!--[--><!--]--><span>ONLINE TUTORIALS</span><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></div><div class="navbar-item"><a href="/en/doc" class="router-link-active" aria-label="DOCS"><!--[--><!--]--> DOCS <!--[--><!--]--></a></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="SOLUTIONS"><span class="title">SOLUTIONS</span><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="SOLUTIONS"><span class="title">SOLUTIONS</span><span class="right arrow"></span></button><ul style="display:none;" class="navbar-dropdown"><!--[--><li class="navbar-dropdown-item"><a class="external-link" href="https://cn.aliyun.com/product/aliware/mse?spm=arthas.topbar.0.0.0" rel="noopener noreferrer" target="_blank" aria-label="Microservice solutions"><!--[--><!--]--><span>Microservice solutions</span><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a class="external-link" href="https://www.aliyun.com/aliware/txc?spm=arthas.topbar.0.0.0" rel="noopener noreferrer" target="_blank" aria-label="Distributed transaction solutions"><!--[--><!--]--><span>Distributed transaction solutions</span><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a class="external-link" href="https://www.aliyun.com/product/ahas?spm=arthas.topbar.0.0.0" rel="noopener noreferrer" target="_blank" aria-label="High-availability solution"><!--[--><!--]--><span>High-availability solution</span><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a class="external-link" href="https://cn.aliyun.com/product/aliware/sae?spm=arthas.topbar.0.0.0" rel="noopener noreferrer" target="_blank" aria-label="Serverless solution for miscoservices"><!--[--><!--]--><span>Serverless solution for miscoservices</span><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a class="external-link" href="https://www.aliyun.com/product/edas?spm=arthas.topbar.0.0.0" rel="noopener noreferrer" target="_blank" aria-label="PaaS solution"><!--[--><!--]--><span>PaaS solution</span><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a class="external-link" href="https://www.aliyun.com/product/servicemesh?spm=arthas.topbar.0.0.0" rel="noopener noreferrer" target="_blank" aria-label="Service mesh solution"><!--[--><!--]--><span>Service mesh solution</span><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></li><!--]--></ul></div></div><div class="navbar-item"><a href="/en/doc/download.md" class="" aria-label="DOWNLOAD"><!--[--><!--]--> DOWNLOAD <!--[--><!--]--></a></div><div class="navbar-item"><a href="/en/doc/commands.md" class="" aria-label="COMMANDS"><!--[--><!--]--> COMMANDS <!--[--><!--]--></a></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="Select language"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1em" height="1em" style="height:1.25rem;width:1.25rem;vertical-align:bottom;" viewbox="0 0 24 24"><path fill="currentColor" d="M13.35 22q-.6 0-.862-.387q-.263-.388-.063-.963l3.65-9.675q.15-.4.563-.688Q17.05 10 17.5 10q.425 0 .85.287q.425.288.575.688l3.65 9.675q.2.575-.062.963q-.263.387-.888.387q-.275 0-.5-.175q-.225-.175-.325-.425l-.85-2.45H15.1l-.875 2.45q-.1.25-.35.425q-.25.175-.525.175Zm2.35-4.8h3.6l-1.75-4.95h-.1ZM7.15 8.55q.4.725.85 1.337q.45.613 1.05 1.263q1.1-1.2 1.825-2.462Q11.6 7.425 12.1 6H2q-.425 0-.712-.287Q1 5.425 1 5t.288-.713Q1.575 4 2 4h6V3q0-.425.288-.713Q8.575 2 9 2t.713.287Q10 2.575 10 3v1h6q.425 0 .712.287Q17 4.575 17 5t-.288.713Q16.425 6 16 6h-1.9q-.525 1.775-1.425 3.45q-.9 1.675-2.225 3.15l2.4 2.45l-.75 2.05L9 14l-4.3 4.3q-.275.275-.7.275q-.425 0-.7-.275q-.275-.275-.275-.7q0-.425.275-.7l4.35-4.35q-.675-.775-1.25-1.563q-.575-.787-1.025-1.662Q5.1 8.8 5.35 8.4t.875-.4q.25 0 .525.162q.275.163.4.388Z"></path></svg><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="Select language"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1em" height="1em" style="height:1.25rem;width:1.25rem;vertical-align:bottom;" viewbox="0 0 24 24"><path fill="currentColor" d="M13.35 22q-.6 0-.862-.387q-.263-.388-.063-.963l3.65-9.675q.15-.4.563-.688Q17.05 10 17.5 10q.425 0 .85.287q.425.288.575.688l3.65 9.675q.2.575-.062.963q-.263.387-.888.387q-.275 0-.5-.175q-.225-.175-.325-.425l-.85-2.45H15.1l-.875 2.45q-.1.25-.35.425q-.25.175-.525.175Zm2.35-4.8h3.6l-1.75-4.95h-.1ZM7.15 8.55q.4.725.85 1.337q.45.613 1.05 1.263q1.1-1.2 1.825-2.462Q11.6 7.425 12.1 6H2q-.425 0-.712-.287Q1 5.425 1 5t.288-.713Q1.575 4 2 4h6V3q0-.425.288-.713Q8.575 2 9 2t.713.287Q10 2.575 10 3v1h6q.425 0 .712.287Q17 4.575 17 5t-.288.713Q16.425 6 16 6h-1.9q-.525 1.775-1.425 3.45q-.9 1.675-2.225 3.15l2.4 2.45l-.75 2.05L9 14l-4.3 4.3q-.275.275-.7.275q-.425 0-.7-.275q-.275-.275-.275-.7q0-.425.275-.7l4.35-4.35q-.675-.775-1.25-1.563q-.575-.787-1.025-1.662Q5.1 8.8 5.35 8.4t.875-.4q.25 0 .525.162q.275.163.4.388Z"></path></svg><span class="right arrow"></span></button><ul style="display:none;" class="navbar-dropdown"><!--[--><li class="navbar-dropdown-item"><a href="/doc/trace.html" class="" aria-label="简体中文"><!--[--><!--]--> 简体中文 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a aria-current="page" href="/en/doc/trace.html" class="router-link-active router-link-exact-active router-link-active" aria-label="English"><!--[--><!--]--> English <!--[--><!--]--></a></li><!--]--></ul></div></div><div class="navbar-item"><a class="external-link" href="https://github.com/alibaba/arthas" rel="noopener noreferrer" target="_blank" aria-label="GitHub"><!--[--><!--]--><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewbox="0 0 24 24" style="height:1.25rem;width:1.25rem;vertical-align:bottom;"><path fill="currentColor" d="M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5c.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34c-.46-1.16-1.11-1.47-1.11-1.47c-.91-.62.07-.6.07-.6c1 .07 1.53 1.03 1.53 1.03c.87 1.52 2.34 1.07 2.91.83c.09-.65.35-1.09.63-1.34c-2.22-.25-4.55-1.11-4.55-4.92c0-1.11.38-2 1.03-2.71c-.1-.25-.45-1.29.1-2.64c0 0 .84-.27 2.75 1.02c.79-.22 1.65-.33 2.5-.33c.85 0 1.71.11 2.5.33c1.91-1.29 2.75-1.02 2.75-1.02c.55 1.35.2 2.39.1 2.64c.65.71 1.03 1.6 1.03 2.71c0 3.82-2.34 4.66-4.57 4.91c.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2Z"></path></svg><!----><!--[--><!--]--></a></div><!--]--></nav><!--[--><!--]--><button class="toggle-color-mode-button" title="toggle color mode"><svg style="" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M16 12.005a4 4 0 1 1-4 4a4.005 4.005 0 0 1 4-4m0-2a6 6 0 1 0 6 6a6 6 0 0 0-6-6z" fill="currentColor"></path><path d="M5.394 6.813l1.414-1.415l3.506 3.506L8.9 10.318z" fill="currentColor"></path><path d="M2 15.005h5v2H2z" fill="currentColor"></path><path d="M5.394 25.197L8.9 21.691l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 25.005h2v5h-2z" fill="currentColor"></path><path d="M21.687 23.106l1.414-1.415l3.506 3.506l-1.414 1.414z" fill="currentColor"></path><path d="M25 15.005h5v2h-5z" fill="currentColor"></path><path d="M21.687 8.904l3.506-3.506l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 2.005h2v5h-2z" fill="currentColor"></path></svg><svg style="display:none;" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3z" fill="currentColor"></path></svg></button><div id="docsearch-container"></div></div></header><!--]--><div class="sidebar-mask"></div><!--[--><aside class="sidebar"><nav class="navbar-items"><!--[--><div class="navbar-item"><a href="/en/" class="" aria-label="HOME"><!--[--><!--]--> HOME <!--[--><!--]--></a></div><div class="navbar-item"><a class="external-link" href="/doc/arthas-tutorials.html?language=en&id=arthas-basics" rel="noopener noreferrer" target="_blank" aria-label="ONLINE TUTORIALS"><!--[--><!--]--><span>ONLINE TUTORIALS</span><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></div><div class="navbar-item"><a href="/en/doc" class="router-link-active" aria-label="DOCS"><!--[--><!--]--> DOCS <!--[--><!--]--></a></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="SOLUTIONS"><span class="title">SOLUTIONS</span><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="SOLUTIONS"><span class="title">SOLUTIONS</span><span class="right arrow"></span></button><ul style="display:none;" class="navbar-dropdown"><!--[--><li class="navbar-dropdown-item"><a class="external-link" href="https://cn.aliyun.com/product/aliware/mse?spm=arthas.topbar.0.0.0" rel="noopener noreferrer" target="_blank" aria-label="Microservice solutions"><!--[--><!--]--><span>Microservice solutions</span><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a class="external-link" href="https://www.aliyun.com/aliware/txc?spm=arthas.topbar.0.0.0" rel="noopener noreferrer" target="_blank" aria-label="Distributed transaction solutions"><!--[--><!--]--><span>Distributed transaction solutions</span><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a class="external-link" href="https://www.aliyun.com/product/ahas?spm=arthas.topbar.0.0.0" rel="noopener noreferrer" target="_blank" aria-label="High-availability solution"><!--[--><!--]--><span>High-availability solution</span><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a class="external-link" href="https://cn.aliyun.com/product/aliware/sae?spm=arthas.topbar.0.0.0" rel="noopener noreferrer" target="_blank" aria-label="Serverless solution for miscoservices"><!--[--><!--]--><span>Serverless solution for miscoservices</span><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a class="external-link" href="https://www.aliyun.com/product/edas?spm=arthas.topbar.0.0.0" rel="noopener noreferrer" target="_blank" aria-label="PaaS solution"><!--[--><!--]--><span>PaaS solution</span><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a class="external-link" href="https://www.aliyun.com/product/servicemesh?spm=arthas.topbar.0.0.0" rel="noopener noreferrer" target="_blank" aria-label="Service mesh solution"><!--[--><!--]--><span>Service mesh solution</span><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></li><!--]--></ul></div></div><div class="navbar-item"><a href="/en/doc/download.md" class="" aria-label="DOWNLOAD"><!--[--><!--]--> DOWNLOAD <!--[--><!--]--></a></div><div class="navbar-item"><a href="/en/doc/commands.md" class="" aria-label="COMMANDS"><!--[--><!--]--> COMMANDS <!--[--><!--]--></a></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="Select language"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1em" height="1em" style="height:1.25rem;width:1.25rem;vertical-align:bottom;" viewbox="0 0 24 24"><path fill="currentColor" d="M13.35 22q-.6 0-.862-.387q-.263-.388-.063-.963l3.65-9.675q.15-.4.563-.688Q17.05 10 17.5 10q.425 0 .85.287q.425.288.575.688l3.65 9.675q.2.575-.062.963q-.263.387-.888.387q-.275 0-.5-.175q-.225-.175-.325-.425l-.85-2.45H15.1l-.875 2.45q-.1.25-.35.425q-.25.175-.525.175Zm2.35-4.8h3.6l-1.75-4.95h-.1ZM7.15 8.55q.4.725.85 1.337q.45.613 1.05 1.263q1.1-1.2 1.825-2.462Q11.6 7.425 12.1 6H2q-.425 0-.712-.287Q1 5.425 1 5t.288-.713Q1.575 4 2 4h6V3q0-.425.288-.713Q8.575 2 9 2t.713.287Q10 2.575 10 3v1h6q.425 0 .712.287Q17 4.575 17 5t-.288.713Q16.425 6 16 6h-1.9q-.525 1.775-1.425 3.45q-.9 1.675-2.225 3.15l2.4 2.45l-.75 2.05L9 14l-4.3 4.3q-.275.275-.7.275q-.425 0-.7-.275q-.275-.275-.275-.7q0-.425.275-.7l4.35-4.35q-.675-.775-1.25-1.563q-.575-.787-1.025-1.662Q5.1 8.8 5.35 8.4t.875-.4q.25 0 .525.162q.275.163.4.388Z"></path></svg><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="Select language"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1em" height="1em" style="height:1.25rem;width:1.25rem;vertical-align:bottom;" viewbox="0 0 24 24"><path fill="currentColor" d="M13.35 22q-.6 0-.862-.387q-.263-.388-.063-.963l3.65-9.675q.15-.4.563-.688Q17.05 10 17.5 10q.425 0 .85.287q.425.288.575.688l3.65 9.675q.2.575-.062.963q-.263.387-.888.387q-.275 0-.5-.175q-.225-.175-.325-.425l-.85-2.45H15.1l-.875 2.45q-.1.25-.35.425q-.25.175-.525.175Zm2.35-4.8h3.6l-1.75-4.95h-.1ZM7.15 8.55q.4.725.85 1.337q.45.613 1.05 1.263q1.1-1.2 1.825-2.462Q11.6 7.425 12.1 6H2q-.425 0-.712-.287Q1 5.425 1 5t.288-.713Q1.575 4 2 4h6V3q0-.425.288-.713Q8.575 2 9 2t.713.287Q10 2.575 10 3v1h6q.425 0 .712.287Q17 4.575 17 5t-.288.713Q16.425 6 16 6h-1.9q-.525 1.775-1.425 3.45q-.9 1.675-2.225 3.15l2.4 2.45l-.75 2.05L9 14l-4.3 4.3q-.275.275-.7.275q-.425 0-.7-.275q-.275-.275-.275-.7q0-.425.275-.7l4.35-4.35q-.675-.775-1.25-1.563q-.575-.787-1.025-1.662Q5.1 8.8 5.35 8.4t.875-.4q.25 0 .525.162q.275.163.4.388Z"></path></svg><span class="right arrow"></span></button><ul style="display:none;" class="navbar-dropdown"><!--[--><li class="navbar-dropdown-item"><a href="/doc/trace.html" class="" aria-label="简体中文"><!--[--><!--]--> 简体中文 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a aria-current="page" href="/en/doc/trace.html" class="router-link-active router-link-exact-active router-link-active" aria-label="English"><!--[--><!--]--> English <!--[--><!--]--></a></li><!--]--></ul></div></div><div class="navbar-item"><a class="external-link" href="https://github.com/alibaba/arthas" rel="noopener noreferrer" target="_blank" aria-label="GitHub"><!--[--><!--]--><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewbox="0 0 24 24" style="height:1.25rem;width:1.25rem;vertical-align:bottom;"><path fill="currentColor" d="M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5c.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34c-.46-1.16-1.11-1.47-1.11-1.47c-.91-.62.07-.6.07-.6c1 .07 1.53 1.03 1.53 1.03c.87 1.52 2.34 1.07 2.91.83c.09-.65.35-1.09.63-1.34c-2.22-.25-4.55-1.11-4.55-4.92c0-1.11.38-2 1.03-2.71c-.1-.25-.45-1.29.1-2.64c0 0 .84-.27 2.75 1.02c.79-.22 1.65-.33 2.5-.33c.85 0 1.71.11 2.5.33c1.91-1.29 2.75-1.02 2.75-1.02c.55 1.35.2 2.39.1 2.64c.65.71 1.03 1.6 1.03 2.71c0 3.82-2.34 4.66-4.57 4.91c.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2Z"></path></svg><!----><!--[--><!--]--></a></div><!--]--></nav><!--[--><!--]--><ul class="sidebar-items"><!--[--><li><p tabindex="0" class="sidebar-item sidebar-heading">DOCS <!----></p><ul style="display:none;" class="sidebar-item-children"><!--[--><li><a href="/en/doc/" class="router-link-active sidebar-item" aria-label="Introduction"><!--[--><!--]--> Introduction <!--[--><!--]--></a><!----></li><li><a href="/en/doc/quick-start.html" class="sidebar-item" aria-label="Quick Start"><!--[--><!--]--> Quick Start <!--[--><!--]--></a><!----></li><li><a href="/en/doc/install-detail.html" class="sidebar-item" aria-label="Install Arthas"><!--[--><!--]--> Install Arthas <!--[--><!--]--></a><!----></li><li><a href="/en/doc/download.html" class="sidebar-item" aria-label="Download"><!--[--><!--]--> Download <!--[--><!--]--></a><!----></li><li><a href="/en/doc/advanced-use.html" class="sidebar-item" aria-label="Advanced Usage"><!--[--><!--]--> Advanced Usage <!--[--><!--]--></a><!----></li><li><p tabindex="0" class="sidebar-item collapsible">Other features <span class="right arrow"></span></p><ul style="display:none;" class="sidebar-item-children"><!--[--><li><a href="/en/doc/async.html" class="sidebar-item" aria-label="Arthas Async Jobs"><!--[--><!--]--> Arthas Async Jobs <!--[--><!--]--></a><!----></li><li><a href="/en/doc/save-log.html" class="sidebar-item" aria-label="Log command outputs"><!--[--><!--]--> Log command outputs <!--[--><!--]--></a><!----></li><li><a href="/en/doc/batch-support.html" class="sidebar-item" aria-label="Batch Processing"><!--[--><!--]--> Batch Processing <!--[--><!--]--></a><!----></li><li><p tabindex="0" class="sidebar-item">How to use ognl <!----></p><ul style="display:none;" class="sidebar-item-children"><!--[--><li><a class="external-link sidebar-item" href="https://github.com/alibaba/arthas/issues/11" rel="noopener noreferrer" target="_blank" aria-label="Basic ognl example"><!--[--><!--]--><span>Basic ognl example</span><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a><!----></li><li><a class="external-link sidebar-item" href="https://github.com/alibaba/arthas/issues/71" rel="noopener noreferrer" target="_blank" aria-label="Ognl special uses"><!--[--><!--]--><span>Ognl special uses</span><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a><!----></li><!--]--></ul></li><!--]--></ul></li><li><a href="/en/doc/commands.html" class="sidebar-item" aria-label="All Commands"><!--[--><!--]--> All Commands <!--[--><!--]--></a><!----></li><li><a href="/en/doc/web-console.html" class="sidebar-item" aria-label="Web Console"><!--[--><!--]--> Web Console <!--[--><!--]--></a><!----></li><li><a href="/en/doc/tunnel.html" class="sidebar-item" aria-label="Arthas Tunnel"><!--[--><!--]--> Arthas Tunnel <!--[--><!--]--></a><!----></li><li><a href="/en/doc/http-api.html" class="sidebar-item" aria-label="Http API"><!--[--><!--]--> Http API <!--[--><!--]--></a><!----></li><li><a href="/en/doc/docker.html" class="sidebar-item" aria-label="Docker"><!--[--><!--]--> Docker <!--[--><!--]--></a><!----></li><li><a href="/en/doc/spring-boot-starter.html" class="sidebar-item" aria-label="Arthas Spring Boot Starter"><!--[--><!--]--> Arthas Spring Boot Starter <!--[--><!--]--></a><!----></li><li><a href="/en/doc/idea-plugin.html" class="sidebar-item" aria-label="IDEA Plugin"><!--[--><!--]--> IDEA Plugin <!--[--><!--]--></a><!----></li><li><a href="/en/doc/faq.html" class="sidebar-item" aria-label="FAQ"><!--[--><!--]--> FAQ <!--[--><!--]--></a><!----></li><li><a class="external-link sidebar-item" href="https://github.com/alibaba/arthas/issues?q=label%3Auser-case" rel="noopener noreferrer" target="_blank" aria-label="User cases"><!--[--><!--]--><span>User cases</span><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a><!----></li><li><a class="external-link sidebar-item" href="https://github.com/alibaba/arthas" rel="noopener noreferrer" target="_blank" aria-label="Start me at github"><!--[--><!--]--><span>Start me at github</span><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a><!----></li><li><a class="external-link sidebar-item" href="https://github.com/alibaba/arthas/blob/master/CONTRIBUTING.md" rel="noopener noreferrer" target="_blank" aria-label="Compile and debug/CONTRIBUTING"><!--[--><!--]--><span>Compile and debug/CONTRIBUTING</span><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a><!----></li><li><a class="external-link sidebar-item" href="https://github.com/alibaba/arthas/releases" rel="noopener noreferrer" target="_blank" aria-label="Release Notes"><!--[--><!--]--><span>Release Notes</span><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a><!----></li><li><a href="/en/doc/contact-us.md" class="sidebar-item" aria-label="Contact us"><!--[--><!--]--> Contact us <!--[--><!--]--></a><!----></li><!--]--></ul></li><!--]--></ul><!--[--><!--]--></aside><!--]--><!--[--><main class="page" data-v-e0e60120><!--[--><!--]--><div class="right-menu-padding theme-default-content" data-v-e0e60120><!--[--><!--]--><div class="right-menu-wrapper" data-v-e0e60120 data-v-7f642c19><div class="right-menu-margin" data-v-7f642c19><div class="right-menu-title" data-v-7f642c19>Table of Contents</div><div class="right-menu-content" data-v-7f642c19><!--[--><!--]--></div></div></div><div data-v-e0e60120><h1 id="trace" tabindex="-1"><a class="header-anchor" href="#trace" aria-hidden="true">#</a> trace</h1><p><a href="https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-trace" target="_blank" rel="noopener noreferrer"><code>trace</code> online tutorial<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></p><div class="custom-container tip"><p class="custom-container-title">TIP</p><p>Trace method calling path, and output the time cost for each node in the path.</p></div><p><code>trace</code> can track the calling path specified by <code>class-pattern</code> / <code>method-pattern</code>, and calculate the time cost on the whole path.</p><h3 id="parameters" tabindex="-1"><a class="header-anchor" href="#parameters" aria-hidden="true">#</a> Parameters</h3><table><thead><tr><th style="text-align:right;">Name</th><th style="text-align:left;">Specification</th></tr></thead><tbody><tr><td style="text-align:right;"><em>class-pattern</em></td><td style="text-align:left;">pattern for the class name</td></tr><tr><td style="text-align:right;"><em>method-pattern</em></td><td style="text-align:left;">pattern for the method name</td></tr><tr><td style="text-align:right;"><em>condition-express</em></td><td style="text-align:left;">condition expression</td></tr><tr><td style="text-align:right;"><code>[E]</code></td><td style="text-align:left;">enable regex match, the default behavior is wildcards match</td></tr><tr><td style="text-align:right;"><code>[n:]</code></td><td style="text-align:left;">execution times</td></tr><tr><td style="text-align:right;">#cost</td><td style="text-align:left;">time cost</td></tr></tbody></table><p>There's one thing worthy noting here is observation expression. The observation expression supports OGNL grammar, for example, you can come up a expression like this <code>"{params,returnObj}"</code>. All OGNL expressions are supported as long as they are legal to the grammar.</p><p>Thanks for <code>advice</code>'s data structure, it is possible to observe from varieties of different angles. Inside <code>advice</code> parameter, all necessary information for notification can be found.</p><p>Pls. refer to <a href="/en/doc/advice-class.html" class="">core parameters in expression</a> for more details.</p><ul><li>Pls. also refer to <a href="https://github.com/alibaba/arthas/issues/71" target="_blank" rel="noopener noreferrer">https://github.com/alibaba/arthas/issues/71<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a> for more advanced usage</li><li>OGNL official site: <a href="https://commons.apache.org/proper/commons-ognl/language-guide.html" target="_blank" rel="noopener noreferrer">https://commons.apache.org/proper/commons-ognl/language-guide.html<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></li></ul><p>Many times what we are interested is the exact trace result when the method call takes time over one particular period. It is possible to achieve this in Arthas, for example: <code>trace *StringUtils isBlank '#cost>100'</code> means trace result will only be output when the executing time exceeds 100ms.</p><div class="custom-container tip"><p class="custom-container-title">TIP</p><p><code>watch</code>/<code>stack</code>/<code>trace</code>, these three commands all support <code>#cost</code>.</p></div><h3 id="notice" tabindex="-1"><a class="header-anchor" href="#notice" aria-hidden="true">#</a> Notice</h3><ul><li><p><code>trace</code> is handy to help discovering and locating the performance flaws in your system, but pls. note Arthas can only trace the first level method call each time.</p></li><li><p>After version 3.3.0, you can use the Dynamic Trace feature to add new matching classes/methods, see the following example.</p></li><li><p>Currently <code>trace java.lang.Thread getName</code> is not supported, please refer to issue: <a href="https://github.com/alibaba/arthas/issues/1610" target="_blank" rel="noopener noreferrer">#1610<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a>, considering that it is not very necessary and it is difficult to repair , So it won’t be fixed for now</p></li></ul><h3 id="usage" tabindex="-1"><a class="header-anchor" href="#usage" aria-hidden="true">#</a> Usage</h3><h4 id="start-demo" tabindex="-1"><a class="header-anchor" href="#start-demo" aria-hidden="true">#</a> Start Demo</h4><p>Start <code>math-game</code> in <a href="/en/doc/quick-start.html" class="">Quick Start</a>.</p><h4 id="trace-method" tabindex="-1"><a class="header-anchor" href="#trace-method" aria-hidden="true">#</a> Trace method</h4><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ trace demo.MathGame run
|
|
|
Press Q or 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">28</span> ms.
|
|
|
<span class="token variable"><span class="token variable">`</span>---ts<span class="token operator">=</span><span class="token number">2019</span>-12-04 00:45:08<span class="token punctuation">;</span><span class="token assign-left variable">thread_name</span><span class="token operator">=</span>main<span class="token punctuation">;</span><span class="token assign-left variable">id</span><span class="token operator">=</span><span class="token number">1</span><span class="token punctuation">;</span><span class="token assign-left variable">is_daemon</span><span class="token operator">=</span>false<span class="token punctuation">;</span><span class="token assign-left variable">priority</span><span class="token operator">=</span><span class="token number">5</span><span class="token punctuation">;</span><span class="token assign-left variable">TCCL</span><span class="token operator">=</span>sun.misc.Launcher$AppClassLoader@3d4eac69
|
|
|
<span class="token variable">`</span></span>---<span class="token punctuation">[</span><span class="token number">0</span>.617465ms<span class="token punctuation">]</span> demo.MathGame:run<span class="token punctuation">(</span><span class="token punctuation">)</span>
|
|
|
<span class="token variable"><span class="token variable">`</span>---<span class="token punctuation">[</span><span class="token number">0</span>.078946ms<span class="token punctuation">]</span> demo.MathGame:primeFactors<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#24 [throws Exception]</span>
|
|
|
|
|
|
<span class="token variable">`</span></span>---ts<span class="token operator">=</span><span class="token number">2019</span>-12-04 00:45:09<span class="token punctuation">;</span><span class="token assign-left variable">thread_name</span><span class="token operator">=</span>main<span class="token punctuation">;</span><span class="token assign-left variable">id</span><span class="token operator">=</span><span class="token number">1</span><span class="token punctuation">;</span><span class="token assign-left variable">is_daemon</span><span class="token operator">=</span>false<span class="token punctuation">;</span><span class="token assign-left variable">priority</span><span class="token operator">=</span><span class="token number">5</span><span class="token punctuation">;</span><span class="token assign-left variable">TCCL</span><span class="token operator">=</span>sun.misc.Launcher<span class="token variable">$AppClassLoader</span>@3d4eac69
|
|
|
<span class="token variable"><span class="token variable">`</span>---<span class="token punctuation">[</span><span class="token number">1</span>.276874ms<span class="token punctuation">]</span> demo.MathGame:run<span class="token punctuation">(</span><span class="token punctuation">)</span>
|
|
|
<span class="token variable">`</span></span>---<span class="token punctuation">[</span><span class="token number">0</span>.03752ms<span class="token punctuation">]</span> demo.MathGame:primeFactors<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#24 [throws Exception]</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></div><div class="custom-container tip"><p class="custom-container-title">TIP</p><p>The <code>#24</code> in the result indicates that in the run function, the <code>primeFactors()</code> function was called on line <code>24</code> of the source file.</p></div><h4 id="trace-times-limit" tabindex="-1"><a class="header-anchor" href="#trace-times-limit" aria-hidden="true">#</a> Trace times limit</h4><p>If the method invoked many times, use <code>-n</code> options to specify trace times. For example, the command will exit when received a trace result.</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ trace demo.MathGame run -n <span class="token number">1</span>
|
|
|
Press Q or 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">20</span> ms.
|
|
|
<span class="token variable"><span class="token variable">`</span>---ts<span class="token operator">=</span><span class="token number">2019</span>-12-04 00:45:53<span class="token punctuation">;</span><span class="token assign-left variable">thread_name</span><span class="token operator">=</span>main<span class="token punctuation">;</span><span class="token assign-left variable">id</span><span class="token operator">=</span><span class="token number">1</span><span class="token punctuation">;</span><span class="token assign-left variable">is_daemon</span><span class="token operator">=</span>false<span class="token punctuation">;</span><span class="token assign-left variable">priority</span><span class="token operator">=</span><span class="token number">5</span><span class="token punctuation">;</span><span class="token assign-left variable">TCCL</span><span class="token operator">=</span>sun.misc.Launcher$AppClassLoader@3d4eac69
|
|
|
<span class="token variable">`</span></span>---<span class="token punctuation">[</span><span class="token number">0</span>.549379ms<span class="token punctuation">]</span> demo.MathGame:run<span class="token punctuation">(</span><span class="token punctuation">)</span>
|
|
|
+---<span class="token punctuation">[</span><span class="token number">0</span>.059839ms<span class="token punctuation">]</span> demo.MathGame:primeFactors<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#24</span>
|
|
|
`---<span class="token punctuation">[</span><span class="token number">0</span>.232887ms<span class="token punctuation">]</span> demo.MathGame:print<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#25</span>
|
|
|
|
|
|
Command execution <span class="token builtin class-name">times</span> exceed limit: <span class="token number">1</span>, so <span class="token builtin class-name">command</span> will exit. You can <span class="token builtin class-name">set</span> it with -n option.
|
|
|
</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><h4 id="include-jdk-method" tabindex="-1"><a class="header-anchor" href="#include-jdk-method" aria-hidden="true">#</a> Include jdk method</h4><ul><li><code>--skipJDKMethod <value> </code> skip jdk method trace, default value true.</li></ul><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ trace --skipJDKMethod <span class="token boolean">false</span> demo.MathGame run
|
|
|
Press Q or 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">60</span> ms.
|
|
|
<span class="token variable"><span class="token variable">`</span>---ts<span class="token operator">=</span><span class="token number">2019</span>-12-04 00:44:41<span class="token punctuation">;</span><span class="token assign-left variable">thread_name</span><span class="token operator">=</span>main<span class="token punctuation">;</span><span class="token assign-left variable">id</span><span class="token operator">=</span><span class="token number">1</span><span class="token punctuation">;</span><span class="token assign-left variable">is_daemon</span><span class="token operator">=</span>false<span class="token punctuation">;</span><span class="token assign-left variable">priority</span><span class="token operator">=</span><span class="token number">5</span><span class="token punctuation">;</span><span class="token assign-left variable">TCCL</span><span class="token operator">=</span>sun.misc.Launcher$AppClassLoader@3d4eac69
|
|
|
<span class="token variable">`</span></span>---<span class="token punctuation">[</span><span class="token number">1</span>.357742ms<span class="token punctuation">]</span> demo.MathGame:run<span class="token punctuation">(</span><span class="token punctuation">)</span>
|
|
|
+---<span class="token punctuation">[</span><span class="token number">0</span>.028624ms<span class="token punctuation">]</span> java.util.Random:nextInt<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#23</span>
|
|
|
+---<span class="token punctuation">[</span><span class="token number">0</span>.045534ms<span class="token punctuation">]</span> demo.MathGame:primeFactors<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#24 [throws Exception]</span>
|
|
|
+---<span class="token punctuation">[</span><span class="token number">0</span>.005372ms<span class="token punctuation">]</span> java.lang.StringBuilder:<span class="token operator"><</span>init<span class="token operator">></span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#28</span>
|
|
|
+---<span class="token punctuation">[</span><span class="token number">0</span>.012257ms<span class="token punctuation">]</span> java.lang.Integer:valueOf<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#28</span>
|
|
|
+---<span class="token punctuation">[</span><span class="token number">0</span>.234537ms<span class="token punctuation">]</span> java.lang.String:format<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#28</span>
|
|
|
+---<span class="token punctuation">[</span>min<span class="token operator">=</span><span class="token number">0</span>.004539ms,max<span class="token operator">=</span><span class="token number">0</span>.005778ms,total<span class="token operator">=</span><span class="token number">0</span>.010317ms,count<span class="token operator">=</span><span class="token number">2</span><span class="token punctuation">]</span> java.lang.StringBuilder:append<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#28</span>
|
|
|
+---<span class="token punctuation">[</span><span class="token number">0</span>.013777ms<span class="token punctuation">]</span> java.lang.Exception:getMessage<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#28</span>
|
|
|
+---<span class="token punctuation">[</span><span class="token number">0</span>.004935ms<span class="token punctuation">]</span> java.lang.StringBuilder:toString<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#28</span>
|
|
|
<span class="token variable"><span class="token variable">`</span>---<span class="token punctuation">[</span><span class="token number">0</span>.06941ms<span class="token punctuation">]</span> java.io.PrintStream:println<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#28</span>
|
|
|
|
|
|
<span class="token variable">`</span></span>---ts<span class="token operator">=</span><span class="token number">2019</span>-12-04 00:44:42<span class="token punctuation">;</span><span class="token assign-left variable">thread_name</span><span class="token operator">=</span>main<span class="token punctuation">;</span><span class="token assign-left variable">id</span><span class="token operator">=</span><span class="token number">1</span><span class="token punctuation">;</span><span class="token assign-left variable">is_daemon</span><span class="token operator">=</span>false<span class="token punctuation">;</span><span class="token assign-left variable">priority</span><span class="token operator">=</span><span class="token number">5</span><span class="token punctuation">;</span><span class="token assign-left variable">TCCL</span><span class="token operator">=</span>sun.misc.Launcher<span class="token variable">$AppClassLoader</span>@3d4eac69
|
|
|
<span class="token variable"><span class="token variable">`</span>---<span class="token punctuation">[</span><span class="token number">3</span>.030432ms<span class="token punctuation">]</span> demo.MathGame:run<span class="token punctuation">(</span><span class="token punctuation">)</span>
|
|
|
+---<span class="token punctuation">[</span><span class="token number">0</span>.010473ms<span class="token punctuation">]</span> java.util.Random:nextInt<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#23</span>
|
|
|
+---<span class="token punctuation">[</span><span class="token number">0</span>.023715ms<span class="token punctuation">]</span> demo.MathGame:primeFactors<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#24 [throws Exception]</span>
|
|
|
+---<span class="token punctuation">[</span><span class="token number">0</span>.005198ms<span class="token punctuation">]</span> java.lang.StringBuilder:<span class="token operator"><</span>init<span class="token operator">></span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#28</span>
|
|
|
+---<span class="token punctuation">[</span><span class="token number">0</span>.006405ms<span class="token punctuation">]</span> java.lang.Integer:valueOf<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#28</span>
|
|
|
+---<span class="token punctuation">[</span><span class="token number">0</span>.178583ms<span class="token punctuation">]</span> java.lang.String:format<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#28</span>
|
|
|
+---<span class="token punctuation">[</span>min<span class="token operator">=</span><span class="token number">0</span>.011636ms,max<span class="token operator">=</span><span class="token number">0</span>.838077ms,total<span class="token operator">=</span><span class="token number">0</span>.849713ms,count<span class="token operator">=</span><span class="token number">2</span><span class="token punctuation">]</span> java.lang.StringBuilder:append<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#28</span>
|
|
|
+---<span class="token punctuation">[</span><span class="token number">0</span>.008747ms<span class="token punctuation">]</span> java.lang.Exception:getMessage<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#28</span>
|
|
|
+---<span class="token punctuation">[</span><span class="token number">0</span>.019768ms<span class="token punctuation">]</span> java.lang.StringBuilder:toString<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#28</span>
|
|
|
<span class="token variable">`</span></span>---<span class="token punctuation">[</span><span class="token number">0</span>.076457ms<span class="token punctuation">]</span> java.io.PrintStream:println<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#28</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></div><h4 id="filtering-by-cost" tabindex="-1"><a class="header-anchor" href="#filtering-by-cost" aria-hidden="true">#</a> Filtering by cost</h4><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ trace demo.MathGame run <span class="token string">'#cost > 10'</span>
|
|
|
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">41</span> ms.
|
|
|
<span class="token variable"><span class="token variable">`</span>---ts<span class="token operator">=</span><span class="token number">2018</span>-12-04 01:12:02<span class="token punctuation">;</span><span class="token assign-left variable">thread_name</span><span class="token operator">=</span>main<span class="token punctuation">;</span><span class="token assign-left variable">id</span><span class="token operator">=</span><span class="token number">1</span><span class="token punctuation">;</span><span class="token assign-left variable">is_daemon</span><span class="token operator">=</span>false<span class="token punctuation">;</span><span class="token assign-left variable">priority</span><span class="token operator">=</span><span class="token number">5</span><span class="token punctuation">;</span><span class="token assign-left variable">TCCL</span><span class="token operator">=</span>sun.misc.Launcher$AppClassLoader@3d4eac69
|
|
|
<span class="token variable">`</span></span>---<span class="token punctuation">[</span><span class="token number">12</span>.033735ms<span class="token punctuation">]</span> demo.MathGame:run<span class="token punctuation">(</span><span class="token punctuation">)</span>
|
|
|
+---<span class="token punctuation">[</span><span class="token number">0</span>.006783ms<span class="token punctuation">]</span> java.util.Random:nextInt<span class="token punctuation">(</span><span class="token punctuation">)</span>
|
|
|
+---<span class="token punctuation">[</span><span class="token number">11</span>.852594ms<span class="token punctuation">]</span> demo.MathGame:primeFactors<span class="token punctuation">(</span><span class="token punctuation">)</span>
|
|
|
`---<span class="token punctuation">[</span><span class="token number">0</span>.05447ms<span class="token punctuation">]</span> demo.MathGame:print<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></div><div class="custom-container tip"><p class="custom-container-title">TIP</p><p>Only the call path which's time cost is higher than <code>10ms</code> will be shown. This feature is handy to focus on what's needed to focus when troubleshoot.</p></div><ul><li>Here Arthas provides the similar functionality JProfile and other commercial software provide. Compared to these professional softwares, Arthas doesn't deduce the time cost <code>trace</code> itself takes, therefore it is not as accurate as these softwares offer. More classes and methods on the calling path, more inaccurate <code>trace</code> output is, but it is still helpful for diagnostics where the bottleneck is.</li><li>"[12.033735ms]" means the method on the node takes <code>12.033735</code> ms.</li><li>"[min=0.005428ms,max=0.094064ms,total=0.105228ms,count=3] demo:call()" means aggregating all same method calls into one single line. The minimum time cost is <code>0.005428</code> ms, the maximum time cost is <code>0.094064</code> ms, and the total time cost for all method calls (<code>3</code> times in total) to "demo:call()" is <code>0.105228ms</code>. If "throws Exception" appears in this line, it means some exceptions have been thrown from this method calls.</li><li>The total time cost may not equal to the sum of the time costs each sub method call takes, this is because Arthas instrumented code takes time too.</li></ul><h4 id="trace-multiple-classes-or-multiple-methods" tabindex="-1"><a class="header-anchor" href="#trace-multiple-classes-or-multiple-methods" aria-hidden="true">#</a> Trace multiple classes or multiple methods</h4><p>The trace command will only trace the subcalls in the method to the trace, and will not trace down multiple layers. Because traces are expensive, multi-layer traces can lead to a lot of classes and methods that ultimately have to be traced.</p><p>You can use the regular expression to match multiple classes and methods on the path to achieve a multi-layer trace effect to some extent.</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>Trace -E com.test.ClassA<span class="token operator">|</span>org.test.ClassB method1<span class="token operator">|</span>method2<span class="token operator">|</span>method3
|
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h4 id="exclude-the-specified-class" tabindex="-1"><a class="header-anchor" href="#exclude-the-specified-class" aria-hidden="true">#</a> Exclude the specified class</h4><div class="custom-container tip"><p class="custom-container-title">TIP</p><p>The watch/trace/monitor/stack/tt commands all support the <code>--exclude-class-pattern</code> parameter</p></div><p>Use the <code>--exclude-class-pattern</code> parameter to exclude the specified class, for example:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">watch</span> javax.servlet.Filter * --exclude-class-pattern com.demo.TestFilter
|
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h4 id="dynamic-trace" tabindex="-1"><a class="header-anchor" href="#dynamic-trace" aria-hidden="true">#</a> Dynamic trace</h4><div class="custom-container tip"><p class="custom-container-title">TIP</p><p>Supported since version 3.3.0.</p></div><p>Open terminal 1, trace the <code>run</code> method in the above demo, and you can see the printout <code>listenerId: 1</code> .</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token punctuation">[</span>arthas@59161<span class="token punctuation">]</span>$ trace demo.MathGame run
|
|
|
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">112</span> ms, listenerId: <span class="token number">1</span>
|
|
|
<span class="token variable"><span class="token variable">`</span>---ts<span class="token operator">=</span><span class="token number">2020</span>-07-09 <span class="token number">16</span>:48:11<span class="token punctuation">;</span><span class="token assign-left variable">thread_name</span><span class="token operator">=</span>main<span class="token punctuation">;</span><span class="token assign-left variable">id</span><span class="token operator">=</span><span class="token number">1</span><span class="token punctuation">;</span><span class="token assign-left variable">is_daemon</span><span class="token operator">=</span>false<span class="token punctuation">;</span><span class="token assign-left variable">priority</span><span class="token operator">=</span><span class="token number">5</span><span class="token punctuation">;</span><span class="token assign-left variable">TCCL</span><span class="token operator">=</span>sun.misc.Launcher$AppClassLoader@3d4eac69
|
|
|
<span class="token variable">`</span></span>---<span class="token punctuation">[</span><span class="token number">1</span>.389634ms<span class="token punctuation">]</span> demo.MathGame:run<span class="token punctuation">(</span><span class="token punctuation">)</span>
|
|
|
<span class="token variable"><span class="token variable">`</span>---<span class="token punctuation">[</span><span class="token number">0</span>.123934ms<span class="token punctuation">]</span> demo.MathGame:primeFactors<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#24 [throws Exception]</span>
|
|
|
|
|
|
<span class="token variable">`</span></span>---ts<span class="token operator">=</span><span class="token number">2020</span>-07-09 <span class="token number">16</span>:48:12<span class="token punctuation">;</span><span class="token assign-left variable">thread_name</span><span class="token operator">=</span>main<span class="token punctuation">;</span><span class="token assign-left variable">id</span><span class="token operator">=</span><span class="token number">1</span><span class="token punctuation">;</span><span class="token assign-left variable">is_daemon</span><span class="token operator">=</span>false<span class="token punctuation">;</span><span class="token assign-left variable">priority</span><span class="token operator">=</span><span class="token number">5</span><span class="token punctuation">;</span><span class="token assign-left variable">TCCL</span><span class="token operator">=</span>sun.misc.Launcher<span class="token variable">$AppClassLoader</span>@3d4eac69
|
|
|
<span class="token variable"><span class="token variable">`</span>---<span class="token punctuation">[</span><span class="token number">3</span>.716391ms<span class="token punctuation">]</span> demo.MathGame:run<span class="token punctuation">(</span><span class="token punctuation">)</span>
|
|
|
+---<span class="token punctuation">[</span><span class="token number">3</span>.182813ms<span class="token punctuation">]</span> demo.MathGame:primeFactors<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#24</span>
|
|
|
<span class="token variable">`</span></span>---<span class="token punctuation">[</span><span class="token number">0</span>.167786ms<span class="token punctuation">]</span> demo.MathGame:print<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#25</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>Now to drill down into the sub method <code>primeFactors</code>, you can open a new terminal 2 and use the <code>telnet localhost 3658</code> connects to the arthas, then trace <code>primeFactors</code> with the specify <code>listenerId</code>.</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token punctuation">[</span>arthas@59161<span class="token punctuation">]</span>$ trace demo.MathGame primeFactors --listenerId <span class="token number">1</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">34</span> ms, listenerId: <span class="token number">1</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><p>At Terminal 2 prints the results, indicating that a method has been enhanced: <code>Affect(class count: 1 , method count: 1)</code>, but no more results are printed.</p><p>At terminal 1, you can see that the trace result has increased by one layer:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token variable"><span class="token variable">`</span>---ts<span class="token operator">=</span><span class="token number">2020</span>-07-09 <span class="token number">16</span>:49:29<span class="token punctuation">;</span><span class="token assign-left variable">thread_name</span><span class="token operator">=</span>main<span class="token punctuation">;</span><span class="token assign-left variable">id</span><span class="token operator">=</span><span class="token number">1</span><span class="token punctuation">;</span><span class="token assign-left variable">is_daemon</span><span class="token operator">=</span>false<span class="token punctuation">;</span><span class="token assign-left variable">priority</span><span class="token operator">=</span><span class="token number">5</span><span class="token punctuation">;</span><span class="token assign-left variable">TCCL</span><span class="token operator">=</span>sun.misc.Launcher$AppClassLoader@3d4eac69
|
|
|
<span class="token variable">`</span></span>---<span class="token punctuation">[</span><span class="token number">0</span>.492551ms<span class="token punctuation">]</span> demo.MathGame:run<span class="token punctuation">(</span><span class="token punctuation">)</span>
|
|
|
<span class="token variable"><span class="token variable">`</span>---<span class="token punctuation">[</span><span class="token number">0</span>.113929ms<span class="token punctuation">]</span> demo.MathGame:primeFactors<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#24 [throws Exception]</span>
|
|
|
<span class="token variable">`</span></span>---<span class="token punctuation">[</span><span class="token number">0</span>.061462ms<span class="token punctuation">]</span> demo.MathGame:primeFactors<span class="token punctuation">(</span><span class="token punctuation">)</span>
|
|
|
<span class="token variable"><span class="token variable">`</span>---<span class="token punctuation">[</span><span class="token number">0</span>.001018ms<span class="token punctuation">]</span> throw:java.lang.IllegalArgumentException<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#46</span>
|
|
|
|
|
|
<span class="token variable">`</span></span>---ts<span class="token operator">=</span><span class="token number">2020</span>-07-09 <span class="token number">16</span>:49:30<span class="token punctuation">;</span><span class="token assign-left variable">thread_name</span><span class="token operator">=</span>main<span class="token punctuation">;</span><span class="token assign-left variable">id</span><span class="token operator">=</span><span class="token number">1</span><span class="token punctuation">;</span><span class="token assign-left variable">is_daemon</span><span class="token operator">=</span>false<span class="token punctuation">;</span><span class="token assign-left variable">priority</span><span class="token operator">=</span><span class="token number">5</span><span class="token punctuation">;</span><span class="token assign-left variable">TCCL</span><span class="token operator">=</span>sun.misc.Launcher<span class="token variable">$AppClassLoader</span>@3d4eac69
|
|
|
<span class="token variable"><span class="token variable">`</span>---<span class="token punctuation">[</span><span class="token number">0</span>.409446ms<span class="token punctuation">]</span> demo.MathGame:run<span class="token punctuation">(</span><span class="token punctuation">)</span>
|
|
|
+---<span class="token punctuation">[</span><span class="token number">0</span>.232606ms<span class="token punctuation">]</span> demo.MathGame:primeFactors<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#24</span>
|
|
|
<span class="token operator">|</span> <span class="token variable">`</span></span>---<span class="token punctuation">[</span><span class="token number">0</span>.1294ms<span class="token punctuation">]</span> demo.MathGame:primeFactors<span class="token punctuation">(</span><span class="token punctuation">)</span>
|
|
|
`---<span class="token punctuation">[</span><span class="token number">0</span>.084025ms<span class="token punctuation">]</span> demo.MathGame:print<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#25</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>Dynamic trace by specifying <code>listenerId</code>, you can go deeper and deeper. In addition, commands such as <code>watch</code>/<code>tt</code>/<code>monitor</code> also support similar functionality.</p><h3 id="trace-result-time-inaccuracy-problem" tabindex="-1"><a class="header-anchor" href="#trace-result-time-inaccuracy-problem" aria-hidden="true">#</a> Trace result time inaccuracy problem</h3><p>For example, in the following result: <code>0.705196 > (0.152743 + 0.145825)</code></p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ trace demo.MathGame run -n <span class="token number">1</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">66</span> ms, listenerId: <span class="token number">1</span>
|
|
|
<span class="token variable"><span class="token variable">`</span>---ts<span class="token operator">=</span><span class="token number">2021</span>-02-08 <span class="token number">11</span>:27:36<span class="token punctuation">;</span><span class="token assign-left variable">thread_name</span><span class="token operator">=</span>main<span class="token punctuation">;</span><span class="token assign-left variable">id</span><span class="token operator">=</span><span class="token number">1</span><span class="token punctuation">;</span><span class="token assign-left variable">is_daemon</span><span class="token operator">=</span>false<span class="token punctuation">;</span><span class="token assign-left variable">priority</span><span class="token operator">=</span><span class="token number">5</span><span class="token punctuation">;</span><span class="token assign-left variable">TCCL</span><span class="token operator">=</span>sun.misc.Launcher$AppClassLoader@232204a1
|
|
|
<span class="token variable">`</span></span>--<span class="token punctuation">[</span><span class="token number">0</span>.705196ms<span class="token punctuation">]</span> demo.MathGame:run<span class="token punctuation">(</span><span class="token punctuation">)</span>
|
|
|
+---<span class="token punctuation">[</span><span class="token number">0</span>.152743ms<span class="token punctuation">]</span> demo.MathGame:primeFactors<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#24</span>
|
|
|
`--<span class="token punctuation">[</span><span class="token number">0</span>.145825ms<span class="token punctuation">]</span> demo.MathGame:print<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#25</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>So where is the rest of the time consumed?</p><ol><li><p>Methods that are not traced to. For example, methods under <code>java.*</code> are ignored by default. This can be printed out by adding the <code>-skipJDKMethod false</code> parameter.</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ trace demo.MathGame run --skipJDKMethod <span class="token boolean">false</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">35</span> ms, listenerId: <span class="token number">2</span>
|
|
|
<span class="token variable"><span class="token variable">`</span>---ts<span class="token operator">=</span><span class="token number">2021</span>-02-08 <span class="token number">11</span>:27:48<span class="token punctuation">;</span><span class="token assign-left variable">thread_name</span><span class="token operator">=</span>main<span class="token punctuation">;</span><span class="token assign-left variable">id</span><span class="token operator">=</span><span class="token number">1</span><span class="token punctuation">;</span><span class="token assign-left variable">is_daemon</span><span class="token operator">=</span>false<span class="token punctuation">;</span><span class="token assign-left variable">priority</span><span class="token operator">=</span><span class="token number">5</span><span class="token punctuation">;</span><span class="token assign-left variable">TCCL</span><span class="token operator">=</span>sun.misc.Launcher$AppClassLoader@232204a1
|
|
|
<span class="token variable">`</span></span>--<span class="token punctuation">[</span><span class="token number">0</span>.810591ms<span class="token punctuation">]</span> demo.MathGame:run<span class="token punctuation">(</span><span class="token punctuation">)</span>
|
|
|
+--<span class="token punctuation">[</span><span class="token number">0</span>.034568ms<span class="token punctuation">]</span> java.util.Random:nextInt<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#23</span>
|
|
|
+---<span class="token punctuation">[</span><span class="token number">0</span>.119367ms<span class="token punctuation">]</span> demo.MathGame:timeFactors<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#24 [throws Exception]</span>
|
|
|
+---<span class="token punctuation">[</span><span class="token number">0</span>.017407ms<span class="token punctuation">]</span> java.lang.StringBuilder:<span class="token operator"><</span>init<span class="token operator">></span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#28</span>
|
|
|
+--<span class="token punctuation">[</span><span class="token number">0</span>.127922ms<span class="token punctuation">]</span> java.lang.String:format<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#57</span>
|
|
|
+---<span class="token punctuation">[</span>min<span class="token operator">=</span><span class="token number">0</span>.01419ms,max<span class="token operator">=</span><span class="token number">0</span>.020221ms,total<span class="token operator">=</span><span class="token number">0</span>.034411ms,count<span class="token operator">=</span><span class="token number">2</span><span class="token punctuation">]</span> java.lang.StringBuilder:append<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#57</span>
|
|
|
+--<span class="token punctuation">[</span><span class="token number">0</span>.021911ms<span class="token punctuation">]</span> java.lang.Exception:getMessage<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#57</span>
|
|
|
+---<span class="token punctuation">[</span><span class="token number">0</span>.015643ms<span class="token punctuation">]</span> java.lang.StringBuilder:toString<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#57</span>
|
|
|
`--<span class="token punctuation">[</span><span class="token number">0</span>.086622ms<span class="token punctuation">]</span> java.io.PrintStream:println<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment">#57</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></div></li><li><p>Instruction consumption. For example, instructions such as <code>i++</code>, <code>getfield</code>, etc.</p></li><li><p>Possible JVM pause during code execution, such as GC, entering synchronization blocks, etc.</p></li></ol><h4 id="use-the-v-parameter-to-print-more-information" tabindex="-1"><a class="header-anchor" href="#use-the-v-parameter-to-print-more-information" aria-hidden="true">#</a> Use the -v parameter to print more information</h4><div class="custom-container tip"><p class="custom-container-title">TIP</p><p>The watch/trace/monitor/stack/tt commands all support the <code>-v</code> parameter.</p></div><p>When the command is executed, there is no output result. There are two possibilities:</p><ol><li>The matched function is not executed</li><li>The result of the conditional expression is false</li></ol><p>But the user cannot tell which situation is.</p><p>Using the <code>-v</code> option, the specific value and execution result of <code>Condition express</code> will be printed for easy confirmation.</p></div><!--[--><!--]--></div><footer class="page-meta right-menu-padding" data-v-e0e60120><div class="meta-item edit-link"><a class="external-link meta-item-label" href="https://github.com/alibaba/arthas/edit/master/site/docs/en/doc/trace.md" rel="noopener noreferrer" target="_blank" aria-label="Edit this page on GitHub"><!--[--><!--]--><span>Edit this page on GitHub</span><span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!--[--><!--]--></a></div><div class="meta-item last-updated"><span class="meta-item-label">Last Updated: </span><!----></div><div class="meta-item contributors"><span class="meta-item-label">Contributors: </span><span class="meta-item-info"><!--[--><!--[--><span class="contributor" title="email: hengyunabc@gmail.com">hengyunabc</span><!--[-->, <!--]--><!--]--><!--[--><span class="contributor" title="email: 26602940+0xflotus@users.noreply.github.com">0xflotus</span><!--[-->, <!--]--><!--]--><!--[--><span class="contributor" title="email: LHearen@126.com">Hearen</span><!--[-->, <!--]--><!--]--><!--[--><span class="contributor" title="email: hollowman186@vip.qq.com">Hollow Man</span><!--[-->, <!--]--><!--]--><!--[--><span class="contributor" title="email: favoorr@gmail.com">Jerry</span><!--[-->, <!--]--><!--]--><!--[--><span class="contributor" title="email: lhearen@gmail.com">LHearen</span><!--[-->, <!--]--><!--]--><!--[--><span class="contributor" title="email: ian.luo@gmail.com">beiwei30</span><!----><!--]--><!--]--></span></div></footer><!----><!--[--><!--]--></main><!--]--></div><!----><!--]--></div>
|
|
|
<script type="module" src="/assets/app.bd2aade7.js" defer></script>
|
|
|
</body>
|
|
|
</html>
|