|
|
<!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.51">
|
|
|
<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><meta name="aes-config" content="pid=xux-opensource&user_type=101&uid=&username=&dim10=arthas"><script src="//g.alicdn.com/alilog/mlog/aplus_v2.js" id="beacon-aplus" exparams="clog=o&aplus&sidx=aplusSidx&ckx=aplusCkx"></script><script src="//g.alicdn.com/aes/??tracker/1.0.34/index.js,tracker-plugin-pv/2.4.5/index.js,tracker-plugin-event/1.2.5/index.js,tracker-plugin-jserror/1.0.13/index.js,tracker-plugin-api/1.1.14/index.js,tracker-plugin-perf/1.1.8/index.js,tracker-plugin-eventTiming/1.0.4/index.js"></script><title>watch | arthas</title><meta name="description" content="arthas user document">
|
|
|
<link rel="modulepreload" href="/assets/app.e05b0501.js"><link rel="modulepreload" href="/assets/watch.html.35ca953f.js"><link rel="modulepreload" href="/assets/watch.html.deb8effa.js"><link rel="prefetch" href="/assets/index.html.2733b79a.js"><link rel="prefetch" href="/assets/index.html.5db817a7.js"><link rel="prefetch" href="/assets/index.html.709f7507.js"><link rel="prefetch" href="/assets/advanced-use.html.5eabebbb.js"><link rel="prefetch" href="/assets/advice-class.html.1661f1b4.js"><link rel="prefetch" href="/assets/agent.html.4025a817.js"><link rel="prefetch" href="/assets/arthas-properties.html.0eb128f0.js"><link rel="prefetch" href="/assets/arthas3.html.7c7bcce9.js"><link rel="prefetch" href="/assets/async.html.decfb75b.js"><link rel="prefetch" href="/assets/auth.html.992a6d0f.js"><link rel="prefetch" href="/assets/base64.html.5593c3a1.js"><link rel="prefetch" href="/assets/batch-support.html.38b144b0.js"><link rel="prefetch" href="/assets/cat.html.3776c21f.js"><link rel="prefetch" href="/assets/classloader.html.bc7c7891.js"><link rel="prefetch" href="/assets/cls.html.001d9db7.js"><link rel="prefetch" href="/assets/commands.html.27371973.js"><link rel="prefetch" href="/assets/contact-us.html.31a7b417.js"><link rel="prefetch" href="/assets/dashboard.html.a5ef1740.js"><link rel="prefetch" href="/assets/docker.html.4196ff57.js"><link rel="prefetch" href="/assets/download.html.a10bf291.js"><link rel="prefetch" href="/assets/dump.html.604d5eb4.js"><link rel="prefetch" href="/assets/echo.html.1e462d2b.js"><link rel="prefetch" href="/assets/faq.html.9ab83ffb.js"><link rel="prefetch" href="/assets/getstatic.html.96639040.js"><link rel="prefetch" href="/assets/grep.html.0c64a5f8.js"><link rel="prefetch" href="/assets/groovy.html.55cdcaa3.js"><link rel="prefetch" href="/assets/heapdump.html.206a94e8.js"><link rel="prefetch" href="/assets/help.html.36fbfa1a.js"><link rel="prefetch" href="/assets/history.html.3bb211d2.js"><link rel="prefetch" href="/assets/http-api.html.6b02a439.js"><link rel="prefetch" href="/assets/idea-plugin.html.811711b6.js"><link rel="prefetch" href="/assets/install-detail.html.62e31be3.js"><link rel="prefetch" href="/assets/jad.html.c455880c.js"><link rel="prefetch" href="/assets/jfr.html.be02b7aa.js"><link rel="prefetch" href="/assets/jvm.html.0d9fa640.js"><link rel="prefetch" href="/assets/keymap.html.c10f2c0a.js"><link rel="prefetch" href="/assets/logger.html.e81218cb.js"><link rel="prefetch" href="/assets/manual-install.html.5df892be.js"><link rel="prefetch" href="/assets/mbean.html.62dfd65b.js"><link rel="prefetch" href="/assets/mc.html.c12a8cd0.js"><link rel="prefetch" href="/assets/memory.html.bad89d78.js"><link rel="prefetch" href="/assets/monitor.html.42a25d25.js"><link rel="prefetch" href="/assets/ognl.html.ba1865ec.js"><link rel="prefetch" href="/assets/options.html.2112e87d.js"><link rel="prefetch" href="/assets/perfcounter.html.f0528cf8.js"><link rel="prefetch" href="/assets/profiler.html.a899b52f.js"><link rel="prefetch" href="/assets/pwd.html.7004966b.js"><link rel="prefetch" href="/assets/quick-start.html.89d9fffc.js"><link rel="prefetch" href="/assets/quit.html.4aad9904.js"><link rel="prefetch" href="/assets/redefine.html.aa3e7277.js"><link rel="prefetch" href="/assets/release-notes.html.84b2ae52.js"><link rel="prefetch" href="/assets/reset.html.5e5dbf72.js"><link rel="prefetch" href="/assets/retransform.html.6c7bac51.js"><link rel="prefetch" href="/assets/save-log.html.b12e2779.js"><link rel="prefetch" href="/assets/sc.html.d47077da.js"><link rel="prefetch" href="/assets/session.html.d3100a10.js"><link rel="prefetch" href="/assets/sm.html.7fe6e105.js"><link rel="prefetch" href="/assets/spring-boot-starter.html.60806736.js"><link rel="prefetch" href="/assets/stack.html.49e14def.js"><link rel="prefetch" href="/assets/start-arthas.html.127785cf.js"><link rel="prefetch" href="/assets/stop.html.6ce326a3.js"><link rel="prefetch" href="/assets/sysenv.html.86745ab9.js"><link rel="prefetch" href="/assets/sysprop.html.dc33b134.js"><link rel="prefetch" href="/assets/tee.html.46c1ded0.js"><link rel="prefetch" href="/assets/thread.html.b025595e.js"><link rel="prefetch" href="/assets/trace.html.16480dfa.js"><link rel="prefetch" href="/assets/tt.html.4e9f2b7c.js"><link rel="prefetch" href="/assets/tunnel.html.aceeee1e.js"><link rel="prefetch" href="/assets/version.html.b15219ef.js"><link rel="prefetch" href="/assets/vmoption.html.ada2750b.js"><link rel="prefetch" href="/assets/vmtool.html.12888af5.js"><link rel="prefetch" href="/assets/watch.html.add0e45d.js"><link rel="prefetch" href="/assets/web-console.html.8b59606c.js"><link rel="prefetch" href="/assets/index.html.b0bf38ff.js"><link rel="prefetch" href="/assets/advanced-use.html.8525b6a1.js"><link rel="prefetch" href="/assets/advice-class.html.dc2e4a24.js"><link rel="prefetch" href="/assets/agent.html.b88072b9.js"><link rel="prefetch" href="/assets/arthas-properties.html.aba77ade.js"><link rel="prefetch" href="/assets/async.html.59b9e5ba.js"><link rel="prefetch" href="/assets/auth.html.ada37d74.js"><link rel="prefetch" href="/assets/base64.html.062c7535.js"><link rel="prefetch" href="/assets/batch-support.html.a8fa595a.js"><link rel="prefetch" href="/assets/cat.html.4d078220.js"><link rel="prefetch" href="/assets/classloader.html.2c4e096b.js"><link rel="prefetch" href="/assets/cls.html.df3e84fe.js"><link rel="prefetch" href="/assets/commands.html.9458ff65.js"><link rel="prefetch" href="/assets/contact-us.html.aff12fc6.js"><link rel="prefetch" href="/assets/dashboard.html.a65b8dd5.js"><link rel="prefetch" href="/assets/docker.html.33569360.js"><link rel="prefetch" href="/assets/download.html.b48f0f39.js"><link rel="prefetch" href="/assets/dump.html.ec4afedc.js"><link rel="prefetch" href="/assets/echo.html.06f04ff3.js"><link rel="prefetch" href="/assets/faq.html.8e7c51a9.js"><link rel="prefetch" href="/assets/getstatic.html.a407750d.js"><link rel="prefetch" href="/assets/grep.html.6687e553.js"><link rel="prefetch" href="/assets/groovy.html.17bacc75.js"><link rel="prefetch" href="/assets/heapdump.html.4819b4cb.js"><link rel="prefetch" href="/assets/help.html.b8d4876e.js"><link rel="prefetch" href="/assets/history.html.b7a40285.js"><link rel="prefetch" href="/assets/http-api.html.3b19be37.js"><link rel="prefetch" href="/assets/idea-plugin.html.6976312c.js"><link rel="prefetch" href="/assets/install-detail.html.b0b7cb25.js"><link rel="prefetch" href="/assets/jad.html.c0d1b412.js"><link rel="prefetch" href="/assets/jfr.html.0023c915.js"><link rel="prefetch" href="/assets/jvm.html.d495285a.js"><link rel="prefetch" href="/assets/keymap.html.bf745c45.js"><link rel="prefetch" href="/assets/logger.html.4e0e1bf2.js"><link rel="prefetch" href="/assets/manual-install.html.194ab447.js"><link rel="prefetch" href="/assets/mbean.html.d866680e.js"><link rel="prefetch" href="/assets/mc.html.fa44322f.js"><link rel="prefetch" href="/assets/memory.html.3410a3df.js"><link rel="prefetch" href="/assets/monitor.html.8bdf760d.js"><link rel="prefetch" href="/assets/ognl.html.07c01064.js"><link rel="prefetch" href="/assets/options.html.309ce1b4.js"><link rel="prefetch" href="/assets/perfcounter.html.c403906b.js"><link rel="prefetch" href="/assets/profiler.html.24623d19.js"><link rel="prefetch" href="/assets/pwd.html.a133bcf4.js"><link rel="prefetch" href="/assets/quick-start.html.bb172868.js"><link rel="prefetch" href="/assets/quit.html.1c4ec5a2.js"><link rel="prefetch" href="/assets/redefine.html.2a8a315b.js"><link rel="prefetch" href="/assets/release-notes.html.0c3efa9d.js"><link rel="prefetch" href="/assets/reset.html.73bd3e52.js"><link rel="prefetch" href="/assets/retransform.html.1e613aa6.js"><link rel="prefetch" href="/assets/save-log.html.b0da163d.js"><link rel="prefetch" href="/assets/sc.html.87c2cceb.js"><link rel="prefetch" href="/assets/session.html.9bf71b84.js"><link rel="prefetch" href="/assets/sm.html.b0466ab4.js"><link rel="prefetch" href="/assets/spring-boot-starter.html.c1e719ff.js"><link rel="prefetch" href="/assets/stack.html.2028e967.js"><link rel="prefetch" href="/assets/start-arthas.html.4293671b.js"><link rel="prefetch" href="/assets/stop.html.ef3747dd.js"><link rel="prefetch" href="/assets/sysenv.html.4c8700e5.js"><link rel="prefetch" href="/assets/sysprop.html.2626ee88.js"><link rel="prefetch" href="/assets/tee.html.26838477.js"><link rel="prefetch" href="/assets/thread.html.c54ee2e6.js"><link rel="prefetch" href="/assets/trace.html.2baf9147.js"><link rel="prefetch" href="/assets/tt.html.51936482.js"><link rel="prefetch" href="/assets/tunnel.html.24ca2b52.js"><link rel="prefetch" href="/assets/version.html.dcd7a23c.js"><link rel="prefetch" href="/assets/vmoption.html.0ccaec53.js"><link rel="prefetch" href="/assets/vmtool.html.ab4d49ea.js"><link rel="prefetch" href="/assets/web-console.html.9f53fa18.js"><link rel="prefetch" href="/assets/intro.html.55c65a4f.js"><link rel="prefetch" href="/assets/user-question-history11440.html.41ae55b2.js"><link rel="prefetch" href="/assets/user-question-history11442.html.c298191b.js"><link rel="prefetch" href="/assets/user-question-history11443.html.0b36cdfe.js"><link rel="prefetch" href="/assets/user-question-history11444.html.0d6f29f9.js"><link rel="prefetch" href="/assets/user-question-history11450.html.d0583b59.js"><link rel="prefetch" href="/assets/user-question-history11451.html.1dac34e4.js"><link rel="prefetch" href="/assets/user-question-history11452.html.947ab9bd.js"><link rel="prefetch" href="/assets/user-question-history11453.html.8478f344.js"><link rel="prefetch" href="/assets/user-question-history11454.html.69091c6d.js"><link rel="prefetch" href="/assets/user-question-history11466.html.0f35f740.js"><link rel="prefetch" href="/assets/user-question-history11467.html.bad0bcc4.js"><link rel="prefetch" href="/assets/user-question-history11468.html.b8ba32e9.js"><link rel="prefetch" href="/assets/user-question-history11469.html.6121afb3.js"><link rel="prefetch" href="/assets/user-question-history11784.html.d7124a08.js"><link rel="prefetch" href="/assets/user-question-history11795.html.b07ddfc8.js"><link rel="prefetch" href="/assets/user-question-history11809.html.141dec01.js"><link rel="prefetch" href="/assets/user-question-history11810.html.0cd8b233.js"><link rel="prefetch" href="/assets/user-question-history11814.html.af556bc2.js"><link rel="prefetch" href="/assets/user-question-history12453.html.3398114f.js"><link rel="prefetch" href="/assets/user-question-history12454.html.1ce0a239.js"><link rel="prefetch" href="/assets/user-question-history12455.html.787416f0.js"><link rel="prefetch" href="/assets/user-question-history12706.html.b2dca5c2.js"><link rel="prefetch" href="/assets/user-question-history12715.html.a3526522.js"><link rel="prefetch" href="/assets/user-question-history12716.html.fca76ab0.js"><link rel="prefetch" href="/assets/user-question-history12740.html.742f6587.js"><link rel="prefetch" href="/assets/user-question-history12741.html.3b2922de.js"><link rel="prefetch" href="/assets/user-question-history13448.html.419f859a.js"><link rel="prefetch" href="/assets/user-question-history13504.html.15204fbd.js"><link rel="prefetch" href="/assets/user-question-history13506.html.cd71fa8c.js"><link rel="prefetch" href="/assets/user-question-history13507.html.5c6cf951.js"><link rel="prefetch" href="/assets/user-question-history13508.html.f4593df7.js"><link rel="prefetch" href="/assets/user-question-history13509.html.6c1d0e76.js"><link rel="prefetch" href="/assets/user-question-history13510.html.376799e9.js"><link rel="prefetch" href="/assets/user-question-history13511.html.12b76799.js"><link rel="prefetch" href="/assets/user-question-history13512.html.4cc55893.js"><link rel="prefetch" href="/assets/user-question-history13513.html.b1fdf64c.js"><link rel="prefetch" href="/assets/user-question-history13522.html.139be9b5.js"><link rel="prefetch" href="/assets/user-question-history14763.html.2434d0ca.js"><link rel="prefetch" href="/assets/user-question-history14831.html.1056318d.js"><link rel="prefetch" href="/assets/user-question-history14832.html.92cd7eeb.js"><link rel="prefetch" href="/assets/user-question-history14833.html.44922aba.js"><link rel="prefetch" href="/assets/user-question-history14834.html.91c741ab.js"><link rel="prefetch" href="/assets/user-question-history14840.html.334b43f9.js"><link rel="prefetch" href="/assets/user-question-history14843.html.12c448f1.js"><link rel="prefetch" href="/assets/user-question-history15167.html.0d66ca7e.js"><link rel="prefetch" href="/assets/user-question-history15543.html.3fa9b9a9.js"><link rel="prefetch" href="/assets/user-question-history15726.html.0d42f496.js"><link rel="prefetch" href="/assets/user-question-history15728.html.ec2e16f5.js"><link rel="prefetch" href="/assets/user-question-history15729.html.908859ca.js"><link rel="prefetch" href="/assets/user-question-history15730.html.1434c88f.js"><link rel="prefetch" href="/assets/user-question-history15731.html.3b7fcf21.js"><link rel="prefetch" href="/assets/user-question-history15735.html.f3f37451.js"><link rel="prefetch" href="/assets/user-question-history15736.html.9211bc14.js"><link rel="prefetch" href="/assets/user-question-history15737.html.484cd104.js"><link rel="prefetch" href="/assets/user-question-history15738.html.8b284fc6.js"><link rel="prefetch" href="/assets/user-question-history15739.html.1e259aff.js"><link rel="prefetch" href="/assets/user-question-history15740.html.cdbf1903.js"><link rel="prefetch" href="/assets/404.html.d33096ff.js"><link rel="prefetch" href="/assets/index.html.6955d6ac.js"><link rel="prefetch" href="/assets/index.html.59a99780.js"><link rel="prefetch" href="/assets/index.html.32e6f934.js"><link rel="prefetch" href="/assets/advanced-use.html.9689b573.js"><link rel="prefetch" href="/assets/advice-class.html.0d79b714.js"><link rel="prefetch" href="/assets/agent.html.0a14f49a.js"><link rel="prefetch" href="/assets/arthas-properties.html.7d46dd34.js"><link rel="prefetch" href="/assets/arthas3.html.98701ce6.js"><link rel="prefetch" href="/assets/async.html.832fb7fa.js"><link rel="prefetch" href="/assets/auth.html.1c5d15b4.js"><link rel="prefetch" href="/assets/base64.html.e322d3b5.js"><link rel="prefetch" href="/assets/batch-support.html.83842692.js"><link rel="prefetch" href="/assets/cat.html.9d080e67.js"><link rel="prefetch" href="/assets/classloader.html.b7f99f41.js"><link rel="prefetch" href="/assets/cls.html.4b47c3ce.js"><link rel="prefetch" href="/assets/commands.html.b362aeed.js"><link rel="prefetch" href="/assets/contact-us.html.4a4fb62e.js"><link rel="prefetch" href="/assets/dashboard.html.e3b03a8e.js"><link rel="prefetch" href="/assets/docker.html.9e49d33a.js"><link rel="prefetch" href="/assets/download.html.b325d0ca.js"><link rel="prefetch" href="/assets/dump.html.fe529fb9.js"><link rel="prefetch" href="/assets/echo.html.6e8a0deb.js"><link rel="prefetch" href="/assets/faq.html.e5b94a8e.js"><link rel="prefetch" href="/assets/getstatic.html.2cba1a85.js"><link rel="prefetch" href="/assets/grep.html.2b1ce79d.js"><link rel="prefetch" href="/assets/groovy.html.ffe4738b.js"><link rel="prefetch" href="/assets/heapdump.html.173102e6.js"><link rel="prefetch" href="/assets/help.html.c86eb4af.js"><link rel="prefetch" href="/assets/history.html.7a6c5d73.js"><link rel="prefetch" href="/assets/http-api.html.2f65584f.js"><link rel="prefetch" href="/assets/idea-plugin.html.14a55361.js"><link rel="prefetch" href="/assets/install-detail.html.6f3ad317.js"><link rel="prefetch" href="/assets/jad.html.3671b64a.js"><link rel="prefetch" href="/assets/jfr.html.2a39e285.js"><link rel="prefetch" href="/assets/jvm.html.50db4e45.js"><link rel="prefetch" href="/assets/keymap.html.6356e1fa.js"><link rel="prefetch" href="/assets/logger.html.988a7722.js"><link rel="prefetch" href="/assets/manual-install.html.3e71a69a.js"><link rel="prefetch" href="/assets/mbean.html.d4a0e753.js"><link rel="prefetch" href="/assets/mc.html.70847c9c.js"><link rel="prefetch" href="/assets/memory.html.66b7b666.js"><link rel="prefetch" href="/assets/monitor.html.1455764d.js"><link rel="prefetch" href="/assets/ognl.html.330fd644.js"><link rel="prefetch" href="/assets/options.html.cd68d178.js"><link rel="prefetch" href="/assets/perfcounter.html.14c5d0a4.js"><link rel="prefetch" href="/assets/profiler.html.635937bb.js"><link rel="prefetch" href="/assets/pwd.html.34a36d44.js"><link rel="prefetch" href="/assets/quick-start.html.f47bb290.js"><link rel="prefetch" href="/assets/quit.html.b23f3148.js"><link rel="prefetch" href="/assets/redefine.html.ebd1d79e.js"><link rel="prefetch" href="/assets/release-notes.html.8eafbfa7.js"><link rel="prefetch" href="/assets/reset.html.0d9750f4.js"><link rel="prefetch" href="/assets/retransform.html.e89865c2.js"><link rel="prefetch" href="/assets/save-log.html.71a65459.js"><link rel="prefetch" href="/assets/sc.html.002f8986.js"><link rel="prefetch" href="/assets/session.html.2c95e7ed.js"><link rel="prefetch" href="/assets/sm.html.74731497.js"><link rel="prefetch" href="/assets/spring-boot-starter.html.40cf846d.js"><link rel="prefetch" href="/assets/stack.html.99d4124a.js"><link rel="prefetch" href="/assets/start-arthas.html.c71279fa.js"><link rel="prefetch" href="/assets/stop.html.2886cc1f.js"><link rel="prefetch" href="/assets/sysenv.html.f19a85d3.js"><link rel="prefetch" href="/assets/sysprop.html.cf2fd851.js"><link rel="prefetch" href="/assets/tee.html.e847cfce.js"><link rel="prefetch" href="/assets/thread.html.9ffb7cb8.js"><link rel="prefetch" href="/assets/trace.html.bc46e459.js"><link rel="prefetch" href="/assets/tt.html.87a52fab.js"><link rel="prefetch" href="/assets/tunnel.html.d3af1ba3.js"><link rel="prefetch" href="/assets/version.html.aabfe1b5.js"><link rel="prefetch" href="/assets/vmoption.html.c311a3f9.js"><link rel="prefetch" href="/assets/vmtool.html.6287fb52.js"><link rel="prefetch" href="/assets/watch.html.a5e77f17.js"><link rel="prefetch" href="/assets/web-console.html.9eb2a36b.js"><link rel="prefetch" href="/assets/index.html.ec869905.js"><link rel="prefetch" href="/assets/advanced-use.html.39b74121.js"><link rel="prefetch" href="/assets/advice-class.html.15bd55dc.js"><link rel="prefetch" href="/assets/agent.html.c68eae3a.js"><link rel="prefetch" href="/assets/arthas-properties.html.55110233.js"><link rel="prefetch" href="/assets/async.html.ceb778cd.js"><link rel="prefetch" href="/assets/auth.html.30a5ddef.js"><link rel="prefetch" href="/assets/base64.html.c6667262.js"><link rel="prefetch" href="/assets/batch-support.html.c058a871.js"><link rel="prefetch" href="/assets/cat.html.3d7ba3b2.js"><link rel="prefetch" href="/assets/classloader.html.66498982.js"><link rel="prefetch" href="/assets/cls.html.d4a39ae8.js"><link rel="prefetch" href="/assets/commands.html.a3fb4ab1.js"><link rel="prefetch" href="/assets/contact-us.html.f402fd34.js"><link rel="prefetch" href="/assets/dashboard.html.5fc2223b.js"><link rel="prefetch" href="/assets/docker.html.e4f1c3d8.js"><link rel="prefetch" href="/assets/download.html.447fc3d6.js"><link rel="prefetch" href="/assets/dump.html.9e5ff075.js"><link rel="prefetch" href="/assets/echo.html.f98cc22b.js"><link rel="prefetch" href="/assets/faq.html.835bf881.js"><link rel="prefetch" href="/assets/getstatic.html.26b11aec.js"><link rel="prefetch" href="/assets/grep.html.a55d1565.js"><link rel="prefetch" href="/assets/groovy.html.9433d766.js"><link rel="prefetch" href="/assets/heapdump.html.bf1afcf2.js"><link rel="prefetch" href="/assets/help.html.242d751d.js"><link rel="prefetch" href="/assets/history.html.80f5813c.js"><link rel="prefetch" href="/assets/http-api.html.f79e6cf9.js"><link rel="prefetch" href="/assets/idea-plugin.html.80e19fff.js"><link rel="prefetch" href="/assets/install-detail.html.34b1ae3e.js"><link rel="prefetch" href="/assets/jad.html.2108d5e3.js"><link rel="prefetch" href="/assets/jfr.html.08f04065.js"><link rel="prefetch" href="/assets/jvm.html.61a4d452.js"><link rel="prefetch" href="/assets/keymap.html.e7eae4ca.js"><link rel="prefetch" href="/assets/logger.html.a966dba6.js"><link rel="prefetch" href="/assets/manual-install.html.82c803b7.js"><link rel="prefetch" href="/assets/mbean.html.66e3d015.js"><link rel="prefetch" href="/assets/mc.html.921301c4.js"><link rel="prefetch" href="/assets/memory.html.144f4fcf.js"><link rel="prefetch" href="/assets/monitor.html.328b99e3.js"><link rel="prefetch" href="/assets/ognl.html.ebdc98a7.js"><link rel="prefetch" href="/assets/options.html.ac2afdfe.js"><link rel="prefetch" href="/assets/perfcounter.html.274e2c84.js"><link rel="prefetch" href="/assets/profiler.html.cdcf2c7e.js"><link rel="prefetch" href="/assets/pwd.html.b87c69f7.js"><link rel="prefetch" href="/assets/quick-start.html.da104afd.js"><link rel="prefetch" href="/assets/quit.html.6a9cdf3c.js"><link rel="prefetch" href="/assets/redefine.html.2c3b2f30.js"><link rel="prefetch" href="/assets/release-notes.html.a0e88599.js"><link rel="prefetch" href="/assets/reset.html.4211787a.js"><link rel="prefetch" href="/assets/retransform.html.c8fd2112.js"><link rel="prefetch" href="/assets/save-log.html.9464d925.js"><link rel="prefetch" href="/assets/sc.html.38818446.js"><link rel="prefetch" href="/assets/session.html.3e83bb14.js"><link rel="prefetch" href="/assets/sm.html.221a249e.js"><link rel="prefetch" href="/assets/spring-boot-starter.html.089ff6a6.js"><link rel="prefetch" href="/assets/stack.html.1fb77f10.js"><link rel="prefetch" href="/assets/start-arthas.html.8024dce9.js"><link rel="prefetch" href="/assets/stop.html.9e73f71f.js"><link rel="prefetch" href="/assets/sysenv.html.74fc241c.js"><link rel="prefetch" href="/assets/sysprop.html.1ef7ece0.js"><link rel="prefetch" href="/assets/tee.html.8c57426d.js"><link rel="prefetch" href="/assets/thread.html.77c77520.js"><link rel="prefetch" href="/assets/trace.html.6ecefecf.js"><link rel="prefetch" href="/assets/tt.html.924168a1.js"><link rel="prefetch" href="/assets/tunnel.html.2144e360.js"><link rel="prefetch" href="/assets/version.html.9d61fda4.js"><link rel="prefetch" href="/assets/vmoption.html.3be15a05.js"><link rel="prefetch" href="/assets/vmtool.html.731b3d7e.js"><link rel="prefetch" href="/assets/web-console.html.59dc2ca7.js"><link rel="prefetch" href="/assets/intro.html.b8741e0d.js"><link rel="prefetch" href="/assets/user-question-history11440.html.9a4d62cd.js"><link rel="prefetch" href="/assets/user-question-history11442.html.7e40f250.js"><link rel="prefetch" href="/assets/user-question-history11443.html.e846a44d.js"><link rel="prefetch" href="/assets/user-question-history11444.html.8793184b.js"><link rel="prefetch" href="/assets/user-question-history11450.html.e8f385f5.js"><link rel="prefetch" href="/assets/user-question-history11451.html.ead4c848.js"><link rel="prefetch" href="/assets/user-question-history11452.html.c0a1bad4.js"><link rel="prefetch" href="/assets/user-question-history11453.html.9a939380.js"><link rel="prefetch" href="/assets/user-question-history11454.html.74bfb889.js"><link rel="prefetch" href="/assets/user-question-history11466.html.fe8343b0.js"><link rel="prefetch" href="/assets/user-question-history11467.html.8a9502ee.js"><link rel="prefetch" href="/assets/user-question-history11468.html.9bcb5edf.js"><link rel="prefetch" href="/assets/user-question-history11469.html.f9ded4e8.js"><link rel="prefetch" href="/assets/user-question-history11784.html.0fe8fef7.js"><link rel="prefetch" href="/assets/user-question-history11795.html.e10bd856.js"><link rel="prefetch" href="/assets/user-question-history11809.html.d26dd2a7.js"><link rel="prefetch" href="/assets/user-question-history11810.html.0565f94a.js"><link rel="prefetch" href="/assets/user-question-history11814.html.2fd4e3e7.js"><link rel="prefetch" href="/assets/user-question-history12453.html.44a4b6e3.js"><link rel="prefetch" href="/assets/user-question-history12454.html.1840b308.js"><link rel="prefetch" href="/assets/user-question-history12455.html.5c82bc41.js"><link rel="prefetch" href="/assets/user-question-history12706.html.ea3a79a3.js"><link rel="prefetch" href="/assets/user-question-history12715.html.ffb8bc19.js"><link rel="prefetch" href="/assets/user-question-history12716.html.3a3f18a6.js"><link rel="prefetch" href="/assets/user-question-history12740.html.e243b96f.js"><link rel="prefetch" href="/assets/user-question-history12741.html.dfef2b47.js"><link rel="prefetch" href="/assets/user-question-history13448.html.693680fc.js"><link rel="prefetch" href="/assets/user-question-history13504.html.488cc9e7.js"><link rel="prefetch" href="/assets/user-question-history13506.html.9e48b9ed.js"><link rel="prefetch" href="/assets/user-question-history13507.html.a310bf78.js"><link rel="prefetch" href="/assets/user-question-history13508.html.29311c72.js"><link rel="prefetch" href="/assets/user-question-history13509.html.9880c203.js"><link rel="prefetch" href="/assets/user-question-history13510.html.b79e29b1.js"><link rel="prefetch" href="/assets/user-question-history13511.html.85a2b776.js"><link rel="prefetch" href="/assets/user-question-history13512.html.eddc270d.js"><link rel="prefetch" href="/assets/user-question-history13513.html.7ccbd552.js"><link rel="prefetch" href="/assets/user-question-history13522.html.b3695c1a.js"><link rel="prefetch" href="/assets/user-question-history14763.html.eef8ae21.js"><link rel="prefetch" href="/assets/user-question-history14831.html.88c170dc.js"><link rel="prefetch" href="/assets/user-question-history14832.html.2ff7d2ea.js"><link rel="prefetch" href="/assets/user-question-history14833.html.d92f8afa.js"><link rel="prefetch" href="/assets/user-question-history14834.html.41564d6e.js"><link rel="prefetch" href="/assets/user-question-history14840.html.b6b9cf1b.js"><link rel="prefetch" href="/assets/user-question-history14843.html.8dff8d37.js"><link rel="prefetch" href="/assets/user-question-history15167.html.483b9188.js"><link rel="prefetch" href="/assets/user-question-history15543.html.fa176e17.js"><link rel="prefetch" href="/assets/user-question-history15726.html.765c8618.js"><link rel="prefetch" href="/assets/user-question-history15728.html.8f92bd23.js"><link rel="prefetch" href="/assets/user-question-history15729.html.cc5662f6.js"><link rel="prefetch" href="/assets/user-question-history15730.html.b2da1e8b.js"><link rel="prefetch" href="/assets/user-question-history15731.html.bdfc32d6.js"><link rel="prefetch" href="/assets/user-question-history15735.html.76157b21.js"><link rel="prefetch" href="/assets/user-question-history15736.html.4f5f5d52.js"><link rel="prefetch" href="/assets/user-question-history15737.html.b668104a.js"><link rel="prefetch" href="/assets/user-question-history15738.html.a06ffe31.js"><link rel="prefetch" href="/assets/user-question-history15739.html.ccebac07.js"><link rel="prefetch" href="/assets/user-question-history15740.html.c78a769d.js"><link rel="prefetch" href="/assets/404.html.2c51c354.js">
|
|
|
<link rel="stylesheet" href="/assets/style.cf0d4c26.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-a8869d06><!----><span class="site-name can-hide" data-v-a8869d06>arthas</span><span class="navbar-version" data-v-a8869d06>v4.0.2</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"><a href="/en/doc/commands.md" class="" aria-label="COMMANDS"><!--[--><!--]--> COMMANDS <!--[--><!--]--></a></div><div class="navbar-item"><a href="/en/doc/download.md" class="" aria-label="DOWNLOAD"><!--[--><!--]--> DOWNLOAD <!--[--><!--]--></a></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="VERSIONS"><span class="title">VERSIONS</span><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="VERSIONS"><span class="title">VERSIONS</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://arthas.aliyun.com/3.x/en/" rel="noopener noreferrer" target="_blank" aria-label="v3.x"><!--[--><!--]--><span>v3.x</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"><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/watch.html" class="" aria-label="简体中文"><!--[--><!--]--> 简体中文 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a aria-current="page" href="/en/doc/watch.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"><a href="/en/doc/commands.md" class="" aria-label="COMMANDS"><!--[--><!--]--> COMMANDS <!--[--><!--]--></a></div><div class="navbar-item"><a href="/en/doc/download.md" class="" aria-label="DOWNLOAD"><!--[--><!--]--> DOWNLOAD <!--[--><!--]--></a></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="VERSIONS"><span class="title">VERSIONS</span><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="VERSIONS"><span class="title">VERSIONS</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://arthas.aliyun.com/3.x/en/" rel="noopener noreferrer" target="_blank" aria-label="v3.x"><!--[--><!--]--><span>v3.x</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"><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/watch.html" class="" aria-label="简体中文"><!--[--><!--]--> 简体中文 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a aria-current="page" href="/en/doc/watch.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 active">DOCS <!----></p><ul style="" 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/advice-class.html" class="sidebar-item" aria-label="Fundamental Fields in Expressions"><!--[--><!--]--> Fundamental Fields in Expressions <!--[--><!--]--></a><!----></li><li><a href="/en/doc/commands.md" class="sidebar-item active collapsible" aria-label="All Commands"><!--[--><!--]--> All Commands <!--[--><!--]--></a><ul style="" class="sidebar-item-children"><!--[--><li><a href="/en/doc/auth.html" class="sidebar-item" aria-label="auth"><!--[--><!--]--> auth <!--[--><!--]--></a><!----></li><li><a href="/en/doc/base64.html" class="sidebar-item" aria-label="base64"><!--[--><!--]--> base64 <!--[--><!--]--></a><!----></li><li><a href="/en/doc/cat.html" class="sidebar-item" aria-label="cat"><!--[--><!--]--> cat <!--[--><!--]--></a><!----></li><li><a href="/en/doc/classloader.html" class="sidebar-item" aria-label="classloader"><!--[--><!--]--> classloader <!--[--><!--]--></a><!----></li><li><a href="/en/doc/cls.html" class="sidebar-item" aria-label="cls"><!--[--><!--]--> cls <!--[--><!--]--></a><!----></li><li><a href="/en/doc/dashboard.html" class="sidebar-item" aria-label="dashboard"><!--[--><!--]--> dashboard <!--[--><!--]--></a><!----></li><li><a href="/en/doc/dump.html" class="sidebar-item" aria-label="dump"><!--[--><!--]--> dump <!--[--><!--]--></a><!----></li><li><a href="/en/doc/echo.html" class="sidebar-item" aria-label="echo"><!--[--><!--]--> echo <!--[--><!--]--></a><!----></li><li><a href="/en/doc/getstatic.html" class="sidebar-item" aria-label="getstatic"><!--[--><!--]--> getstatic <!--[--><!--]--></a><!----></li><li><a href="/en/doc/grep.html" class="sidebar-item" aria-label="grep"><!--[--><!--]--> grep <!--[--><!--]--></a><!----></li><li><a href="/en/doc/heapdump.html" class="sidebar-item" aria-label="heapdump"><!--[--><!--]--> heapdump <!--[--><!--]--></a><!----></li><li><a href="/en/doc/help.html" class="sidebar-item" aria-label="help"><!--[--><!--]--> help <!--[--><!--]--></a><!----></li><li><a href="/en/doc/history.html" class="sidebar-item" aria-label="history"><!--[--><!--]--> history <!--[--><!--]--></a><!----></li><li><a href="/en/doc/jad.html" class="sidebar-item" aria-label="jad"><!--[--><!--]--> jad <!--[--><!--]--></a><!----></li><li><a href="/en/doc/jfr.html" class="sidebar-item" aria-label="jfr"><!--[--><!--]--> jfr <!--[--><!--]--></a><!----></li><li><a href="/en/doc/jvm.html" class="sidebar-item" aria-label="jvm"><!--[--><!--]--> jvm <!--[--><!--]--></a><!----></li><li><a href="/en/doc/keymap.html" class="sidebar-item" aria-label="keymap"><!--[--><!--]--> keymap <!--[--><!--]--></a><!----></li><li><a href="/en/doc/logger.html" class="sidebar-item" aria-label="logger"><!--[--><!--]--> logger <!--[--><!--]--></a><!----></li><li><a href="/en/doc/mbean.html" class="sidebar-item" aria-label="mbean"><!--[--><!--]--> mbean <!--[--><!--]--></a><!----></li><li><a href="/en/doc/mc.html" class="sidebar-item" aria-label="mc"><!--[--><!--]--> mc <!--[--><!--]--></a><!----></li><li><a href="/en/doc/memory.html" class="sidebar-item" aria-label="memory"><!--[--><!--]--> memory <!--[--><!--]--></a><!----></li><li><a href="/en/doc/monitor.html" class="sidebar-item" aria-label="monitor"><!--[--><!--]--> monitor <!--[--><!--]--></a><!----></li><li><a href="/en/doc/ognl.html" class="sidebar-item" aria-label="ognl"><!--[--><!--]--> ognl <!--[--><!--]--></a><!----></li><li><a href="/en/doc/options.html" class="sidebar-item" aria-label="options"><!--[--><!--]--> options <!--[--><!--]--></a><!----></li><li><a href="/en/doc/perfcounter.html" class="sidebar-item" aria-label="perfcounter"><!--[--><!--]--> perfcounter <!--[--><!--]--></a><!----></li><li><a href="/en/doc/profiler.html" class="sidebar-item" aria-label="profiler"><!--[--><!--]--> profiler <!--[--><!--]--></a><!----></li><li><a href="/en/doc/pwd.html" class="sidebar-item" aria-label="pwd"><!--[--><!--]--> pwd <!--[--><!--]--></a><!----></li><li><a href="/en/doc/quit.html" class="sidebar-item" aria-label="quit"><!--[--><!--]--> quit <!--[--><!--]--></a><!----></li><li><a href="/en/doc/redefine.html" class="sidebar-item" aria-label="redefine"><!--[--><!--]--> redefine <!--[--><!--]--></a><!----></li><li><a href="/en/doc/reset.html" class="sidebar-item" aria-label="reset"><!--[--><!--]--> reset <!--[--><!--]--></a><!----></li><li><a href="/en/doc/retransform.html" class="sidebar-item" aria-label="retransform"><!--[--><!--]--> retransform <!--[--><!--]--></a><!----></li><li><a href="/en/doc/sc.html" class="sidebar-item" aria-label="sc"><!--[--><!--]--> sc <!--[--><!--]--></a><!----></li><li><a href="/en/doc/session.html" class="sidebar-item" aria-label="session"><!--[--><!--]--> session <!--[--><!--]--></a><!----></li><li><a href="/en/doc/sm.html" class="sidebar-item" aria-label="sm"><!--[--><!--]--> sm <!--[--><!--]--></a><!----></li><li><a href="/en/doc/stack.html" class="sidebar-item" aria-label="stack"><!--[--><!--]--> stack <!--[--><!--]--></a><!----></li><li><a href="/en/doc/stop.html" class="sidebar-item" aria-label="stop"><!--[--><!--]--> stop <!--[--><!--]--></a><!----></li><li><a href="/en/doc/sysenv.html" class="sidebar-item" aria-label="sysenv"><!--[--><!--]--> sysenv <!--[--><!--]--></a><!----></li><li><a href="/en/doc/sysprop.html" class="sidebar-item" aria-label="sysprop"><!--[--><!--]--> sysprop <!--[--><!--]--></a><!----></li><li><a href="/en/doc/tee.html" class="sidebar-item" aria-label="tee"><!--[--><!--]--> tee <!--[--><!--]--></a><!----></li><li><a href="/en/doc/thread.html" class="sidebar-item" aria-label="thread"><!--[--><!--]--> thread <!--[--><!--]--></a><!----></li><li><a href="/en/doc/trace.html" class="sidebar-item" aria-label="trace"><!--[--><!--]--> trace <!--[--><!--]--></a><!----></li><li><a href="/en/doc/tt.html" class="sidebar-item" aria-label="tt"><!--[--><!--]--> tt <!--[--><!--]--></a><!----></li><li><a href="/en/doc/version.html" class="sidebar-item" aria-label="version"><!--[--><!--]--> version <!--[--><!--]--></a><!----></li><li><a href="/en/doc/vmoption.html" class="sidebar-item" aria-label="vmoption"><!--[--><!--]--> vmoption <!--[--><!--]--></a><!----></li><li><a href="/en/doc/vmtool.html" class="sidebar-item" aria-label="vmtool"><!--[--><!--]--> vmtool <!--[--><!--]--></a><!----></li><li><a aria-current="page" href="/en/doc/watch.html" class="router-link-active router-link-exact-active router-link-active sidebar-item active" aria-label="watch"><!--[--><!--]--> watch <!--[--><!--]--></a><!----></li><!--]--></ul></li><li><a href="/en/doc/advanced-use.md" class="sidebar-item collapsible" aria-label="Other features"><!--[--><!--]--> Other features <!--[--><!--]--></a><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/docker.html" class="sidebar-item" aria-label="Docker"><!--[--><!--]--> Docker <!--[--><!--]--></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/idea-plugin.html" class="sidebar-item" aria-label="IDEA Plugin"><!--[--><!--]--> IDEA Plugin <!--[--><!--]--></a><!----></li><li><a href="/en/doc/arthas-properties.html" class="sidebar-item" aria-label="Arthas Properties"><!--[--><!--]--> Arthas Properties <!--[--><!--]--></a><!----></li><li><a href="/en/doc/agent.html" class="sidebar-item" aria-label="Start as a Java Agent"><!--[--><!--]--> Start as a Java Agent <!--[--><!--]--></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/http-api.html" class="sidebar-item" aria-label="Http API"><!--[--><!--]--> Http API <!--[--><!--]--></a><!----></li><li><a href="/en/doc/batch-support.html" class="sidebar-item" aria-label="Batch Processing"><!--[--><!--]--> Batch Processing <!--[--><!--]--></a><!----></li><!--]--></ul></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="Star me at github"><!--[--><!--]--><span>Star 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-fdd717e0><!--[--><!--]--><div class="right-menu-padding theme-default-content" data-v-fdd717e0><!--[--><!--]--><div class="right-menu-wrapper" data-v-fdd717e0 data-v-64666cd5><div class="right-menu-margin" data-v-64666cd5><div class="right-menu-title" data-v-64666cd5>Table of Contents</div><div class="right-menu-content" data-v-64666cd5><!--[--><!--]--></div></div></div><div data-v-fdd717e0><h1 id="watch" tabindex="-1"><a class="header-anchor" href="#watch" aria-hidden="true">#</a> watch</h1><p><a href="https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-watch" target="_blank" rel="noopener noreferrer"><code>watch</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><p>Monitor methods in data aspect including <code>return values</code>, <code>exceptions</code> and <code>parameters</code>.</p><p>With the help of <a href="https://commons.apache.org/proper/commons-ognl/index.html" target="_blank" rel="noopener noreferrer">OGNL<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>, you can easily check the details of variables when methods being invoked.</p><h2 id="parameters-options" tabindex="-1"><a class="header-anchor" href="#parameters-options" aria-hidden="true">#</a> Parameters & Options</h2><p>There are four different scenarios for <code>watch</code> command, which makes it rather complicated.</p><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>expression</em></td><td style="text-align:left;">expression to watch, default value <code>{params, target, returnObj}</code></td></tr><tr><td style="text-align:right;"><em>condition-expression</em></td><td style="text-align:left;">condition expression to filter</td></tr><tr><td style="text-align:right;">[b]</td><td style="text-align:left;">before method being invoked</td></tr><tr><td style="text-align:right;">[e]</td><td style="text-align:left;">when method encountering exceptions</td></tr><tr><td style="text-align:right;">[s]</td><td style="text-align:left;">when method exits normally</td></tr><tr><td style="text-align:right;">[f]</td><td style="text-align:left;">when method exits (either succeed or fail with exceptions)</td></tr><tr><td style="text-align:right;">[E]</td><td style="text-align:left;">turn on regex matching while the default is wildcard matching</td></tr><tr><td style="text-align:right;">[x:]</td><td style="text-align:left;">the depth to print the specified property with default value: 1, the max value is 4</td></tr><tr><td style="text-align:right;"><code>[m <arg>]</code></td><td style="text-align:left;">Specify the max number of matched Classes, the default value is 50. Long format is <code>[maxMatch <arg>]</code>.</td></tr></tbody></table><p>F.Y.I</p><ol><li>any valid OGNL expression as <code>"{params,returnObj}"</code> supported</li><li>there are four <em>watching</em> points: <code>-b</code>, <code>-e</code>, <code>-s</code> and <code>-f</code> (the first three are off in default while <code>-f</code> on);</li><li>at the <em>watching</em> point, Arthas will use the <em>expression</em> to evaluate the variables and print them out;</li><li><code>in parameters</code> and <code>out parameters</code> are different since they can be modified within the invoked methods; <code>params</code> stands for <code>in parameters</code> in <code>-b</code>while <code>out parameters</code> in other <em>watching</em> points;</li><li>there are no <code>return values</code> and <code>exceptions</code> when using <code>-b</code>.</li><li>In the result of the watch command, the <code>location</code> information will be printed. There are three possible values for <code>location</code>: <code>AtEnter</code>, <code>AtExit</code>, and <code>AtExceptionExit</code>. Corresponding to the method entry, the method returns normally, and the method throws an exception.</li></ol><p>Advanced:</p><ul><li><a href="/en/doc/advice-class.html" class="">Critical fields in <em>expression</em></a></li><li><a href="https://github.com/alibaba/arthas/issues/71" target="_blank" rel="noopener noreferrer">Special usages<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="https://commons.apache.org/dormant/commons-ognl/language-guide.html" target="_blank" rel="noopener noreferrer">OGNL official guide<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><h2 id="usage" tabindex="-1"><a class="header-anchor" href="#usage" aria-hidden="true">#</a> Usage</h2><h3 id="start-demo" tabindex="-1"><a class="header-anchor" href="#start-demo" aria-hidden="true">#</a> Start Demo</h3><p>Start <code>math-game</code> in <a href="/en/doc/quick-start.html" class="">Quick Start</a>.</p><h3 id="check-the-out-parameters-this-and-return-value" tabindex="-1"><a class="header-anchor" href="#check-the-out-parameters-this-and-return-value" aria-hidden="true">#</a> Check the <code>out parameters</code>, <code>this</code> and <code>return value</code></h3><div class="custom-container tip"><p class="custom-container-title">TIP</p><p>The expression to watch, default value <code>{params, target, returnObj}</code></p></div><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ <span class="token function">watch</span> demo.MathGame primeFactors <span class="token parameter variable">-x</span> <span class="token number">2</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">32</span> ms, listenerId: <span class="token number">5</span>
|
|
|
<span class="token assign-left variable">method</span><span class="token operator">=</span>demo.MathGame.primeFactors <span class="token assign-left variable">location</span><span class="token operator">=</span>AtExceptionExit
|
|
|
<span class="token assign-left variable">ts</span><span class="token operator">=</span><span class="token number">2021</span>-08-31 <span class="token number">15</span>:22:57<span class="token punctuation">;</span> <span class="token punctuation">[</span>cost<span class="token operator">=</span><span class="token number">0</span>.220625ms<span class="token punctuation">]</span> <span class="token assign-left variable">result</span><span class="token operator">=</span>@ArrayList<span class="token punctuation">[</span>
|
|
|
@Object<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">[</span>
|
|
|
@Integer<span class="token punctuation">[</span>-179173<span class="token punctuation">]</span>,
|
|
|
<span class="token punctuation">]</span>,
|
|
|
@MathGame<span class="token punctuation">[</span>
|
|
|
<span class="token assign-left variable">random</span><span class="token operator">=</span>@Random<span class="token punctuation">[</span>java.util.Random@31cefde0<span class="token punctuation">]</span>,
|
|
|
<span class="token assign-left variable">illegalArgumentCount</span><span class="token operator">=</span>@Integer<span class="token punctuation">[</span><span class="token number">44</span><span class="token punctuation">]</span>,
|
|
|
<span class="token punctuation">]</span>,
|
|
|
null,
|
|
|
<span class="token punctuation">]</span>
|
|
|
<span class="token assign-left variable">method</span><span class="token operator">=</span>demo.MathGame.primeFactors <span class="token assign-left variable">location</span><span class="token operator">=</span>AtExit
|
|
|
<span class="token assign-left variable">ts</span><span class="token operator">=</span><span class="token number">2021</span>-08-31 <span class="token number">15</span>:22:58<span class="token punctuation">;</span> <span class="token punctuation">[</span>cost<span class="token operator">=</span><span class="token number">1</span>.020982ms<span class="token punctuation">]</span> <span class="token assign-left variable">result</span><span class="token operator">=</span>@ArrayList<span class="token punctuation">[</span>
|
|
|
@Object<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">[</span>
|
|
|
@Integer<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span>,
|
|
|
<span class="token punctuation">]</span>,
|
|
|
@MathGame<span class="token punctuation">[</span>
|
|
|
<span class="token assign-left variable">random</span><span class="token operator">=</span>@Random<span class="token punctuation">[</span>java.util.Random@31cefde0<span class="token punctuation">]</span>,
|
|
|
<span class="token assign-left variable">illegalArgumentCount</span><span class="token operator">=</span>@Integer<span class="token punctuation">[</span><span class="token number">44</span><span class="token punctuation">]</span>,
|
|
|
<span class="token punctuation">]</span>,
|
|
|
@ArrayList<span class="token punctuation">[</span>
|
|
|
@Integer<span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span>,
|
|
|
@Integer<span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span>,
|
|
|
@Integer<span class="token punctuation">[</span><span class="token number">26947</span><span class="token punctuation">]</span>,
|
|
|
<span class="token punctuation">]</span>,
|
|
|
<span class="token punctuation">]</span>
|
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ul><li>In the above result, the method is executed twice, the first result is <code>location=AtExceptionExit</code>, indicating that the method throws an exception, so <code>returnObj</code> is null</li><li>In the second result is <code>location=AtExit</code>, indicating that the method returns normally, so you can see that the result of <code>returnObj</code> is an ArrayList</li></ul><h3 id="specify-the-max-number-of-matched-classes" tabindex="-1"><a class="header-anchor" href="#specify-the-max-number-of-matched-classes" aria-hidden="true">#</a> Specify the max number of matched Classes</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ <span class="token function">watch</span> demo.MathGame primeFactors <span class="token parameter variable">-m</span> <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">302</span> ms, listenerId: <span class="token number">3</span>
|
|
|
<span class="token assign-left variable">method</span><span class="token operator">=</span>demo.MathGame.primeFactors <span class="token assign-left variable">location</span><span class="token operator">=</span>AtExceptionExit
|
|
|
<span class="token assign-left variable">ts</span><span class="token operator">=</span><span class="token number">2022</span>-12-25 <span class="token number">19</span>:58:41<span class="token punctuation">;</span> <span class="token punctuation">[</span>cost<span class="token operator">=</span><span class="token number">0</span>.222419ms<span class="token punctuation">]</span> <span class="token assign-left variable">result</span><span class="token operator">=</span>@ArrayList<span class="token punctuation">[</span>
|
|
|
@Object<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">[</span>isEmpty<span class="token operator">=</span>false<span class="token punctuation">;</span><span class="token assign-left variable">size</span><span class="token operator">=</span><span class="token number">1</span><span class="token punctuation">]</span>,
|
|
|
@MathGame<span class="token punctuation">[</span>demo.MathGame@3bf400<span class="token punctuation">]</span>,
|
|
|
null,
|
|
|
<span class="token punctuation">]</span>
|
|
|
<span class="token assign-left variable">method</span><span class="token operator">=</span>demo.MathGame.primeFactors <span class="token assign-left variable">location</span><span class="token operator">=</span>AtExceptionExit
|
|
|
<span class="token assign-left variable">ts</span><span class="token operator">=</span><span class="token number">2022</span>-12-25 <span class="token number">19</span>:58:51<span class="token punctuation">;</span> <span class="token punctuation">[</span>cost<span class="token operator">=</span><span class="token number">0</span>.046928ms<span class="token punctuation">]</span> <span class="token assign-left variable">result</span><span class="token operator">=</span>@ArrayList<span class="token punctuation">[</span>
|
|
|
@Object<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">[</span>isEmpty<span class="token operator">=</span>false<span class="token punctuation">;</span><span class="token assign-left variable">size</span><span class="token operator">=</span><span class="token number">1</span><span class="token punctuation">]</span>,
|
|
|
@MathGame<span class="token punctuation">[</span>demo.MathGame@3bf400<span class="token punctuation">]</span>,
|
|
|
null,
|
|
|
<span class="token punctuation">]</span>
|
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="check-in-parameters" tabindex="-1"><a class="header-anchor" href="#check-in-parameters" aria-hidden="true">#</a> Check <code>in parameters</code></h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ <span class="token function">watch</span> demo.MathGame primeFactors <span class="token string">"{params,returnObj}"</span> <span class="token parameter variable">-x</span> <span class="token number">2</span> <span class="token parameter variable">-b</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">50</span> ms.
|
|
|
<span class="token assign-left variable">ts</span><span class="token operator">=</span><span class="token number">2018</span>-12-03 <span class="token number">19</span>:23:23<span class="token punctuation">;</span> <span class="token punctuation">[</span>cost<span class="token operator">=</span><span class="token number">0</span>.0353ms<span class="token punctuation">]</span> <span class="token assign-left variable">result</span><span class="token operator">=</span>@ArrayList<span class="token punctuation">[</span>
|
|
|
@Object<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">[</span>
|
|
|
@Integer<span class="token punctuation">[</span>-1077465243<span class="token punctuation">]</span>,
|
|
|
<span class="token punctuation">]</span>,
|
|
|
null,
|
|
|
<span class="token punctuation">]</span>
|
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>Compared to the previous <em>check</em>:</p><ul><li><code>return value</code> is <code>null</code> since it's <code>-b</code>.</li></ul><h3 id="check-before-and-after-at-the-same-time" tabindex="-1"><a class="header-anchor" href="#check-before-and-after-at-the-same-time" aria-hidden="true">#</a> Check <em>before</em> and <em>after</em> at the same time</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ <span class="token function">watch</span> demo.MathGame primeFactors <span class="token string">"{params,target,returnObj}"</span> <span class="token parameter variable">-x</span> <span class="token number">2</span> <span class="token parameter variable">-b</span> <span class="token parameter variable">-s</span> <span class="token parameter variable">-n</span> <span class="token number">2</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">46</span> ms.
|
|
|
<span class="token assign-left variable">ts</span><span class="token operator">=</span><span class="token number">2018</span>-12-03 <span class="token number">19</span>:29:54<span class="token punctuation">;</span> <span class="token punctuation">[</span>cost<span class="token operator">=</span><span class="token number">0</span>.01696ms<span class="token punctuation">]</span> <span class="token assign-left variable">result</span><span class="token operator">=</span>@ArrayList<span class="token punctuation">[</span>
|
|
|
@Object<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">[</span>
|
|
|
@Integer<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span>,
|
|
|
<span class="token punctuation">]</span>,
|
|
|
@MathGame<span class="token punctuation">[</span>
|
|
|
<span class="token assign-left variable">random</span><span class="token operator">=</span>@Random<span class="token punctuation">[</span>java.util.Random@522b408a<span class="token punctuation">]</span>,
|
|
|
<span class="token assign-left variable">illegalArgumentCount</span><span class="token operator">=</span>@Integer<span class="token punctuation">[</span><span class="token number">13038</span><span class="token punctuation">]</span>,
|
|
|
<span class="token punctuation">]</span>,
|
|
|
null,
|
|
|
<span class="token punctuation">]</span>
|
|
|
<span class="token assign-left variable">ts</span><span class="token operator">=</span><span class="token number">2018</span>-12-03 <span class="token number">19</span>:29:54<span class="token punctuation">;</span> <span class="token punctuation">[</span>cost<span class="token operator">=</span><span class="token number">4</span>.277392ms<span class="token punctuation">]</span> <span class="token assign-left variable">result</span><span class="token operator">=</span>@ArrayList<span class="token punctuation">[</span>
|
|
|
@Object<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">[</span>
|
|
|
@Integer<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span>,
|
|
|
<span class="token punctuation">]</span>,
|
|
|
@MathGame<span class="token punctuation">[</span>
|
|
|
<span class="token assign-left variable">random</span><span class="token operator">=</span>@Random<span class="token punctuation">[</span>java.util.Random@522b408a<span class="token punctuation">]</span>,
|
|
|
<span class="token assign-left variable">illegalArgumentCount</span><span class="token operator">=</span>@Integer<span class="token punctuation">[</span><span class="token number">13038</span><span class="token punctuation">]</span>,
|
|
|
<span class="token punctuation">]</span>,
|
|
|
@ArrayList<span class="token punctuation">[</span>
|
|
|
@Integer<span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span>,
|
|
|
@Integer<span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span>,
|
|
|
@Integer<span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span>,
|
|
|
@Integer<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span>,
|
|
|
@Integer<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span>,
|
|
|
@Integer<span class="token punctuation">[</span><span class="token number">73</span><span class="token punctuation">]</span>,
|
|
|
@Integer<span class="token punctuation">[</span><span class="token number">241</span><span class="token punctuation">]</span>,
|
|
|
@Integer<span class="token punctuation">[</span><span class="token number">439</span><span class="token punctuation">]</span>,
|
|
|
<span class="token punctuation">]</span>,
|
|
|
<span class="token punctuation">]</span>
|
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>F.Y.I</p><ul><li><code>-n 2</code>: threshold of execution times is 2.</li><li>the first block of output is the <em>before watching</em> point;</li><li>*the order of the output determined by the *watching* order itself (nothing to do with the order of the options <code>-b -s</code>).</li></ul><h3 id="use-x-to-check-more-details" tabindex="-1"><a class="header-anchor" href="#use-x-to-check-more-details" aria-hidden="true">#</a> Use <code>-x</code> to check more details</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ <span class="token function">watch</span> demo.MathGame primeFactors <span class="token string">"{params,target}"</span> <span class="token parameter variable">-x</span> <span class="token number">3</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">58</span> ms.
|
|
|
<span class="token assign-left variable">ts</span><span class="token operator">=</span><span class="token number">2018</span>-12-03 <span class="token number">19</span>:34:19<span class="token punctuation">;</span> <span class="token punctuation">[</span>cost<span class="token operator">=</span><span class="token number">0</span>.587833ms<span class="token punctuation">]</span> <span class="token assign-left variable">result</span><span class="token operator">=</span>@ArrayList<span class="token punctuation">[</span>
|
|
|
@Object<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">[</span>
|
|
|
@Integer<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span>,
|
|
|
<span class="token punctuation">]</span>,
|
|
|
@MathGame<span class="token punctuation">[</span>
|
|
|
<span class="token assign-left variable">random</span><span class="token operator">=</span>@Random<span class="token punctuation">[</span>
|
|
|
<span class="token assign-left variable">serialVersionUID</span><span class="token operator">=</span>@Long<span class="token punctuation">[</span><span class="token number">3905348978240129619</span><span class="token punctuation">]</span>,
|
|
|
<span class="token assign-left variable">seed</span><span class="token operator">=</span>@AtomicLong<span class="token punctuation">[</span><span class="token number">3133719055989</span><span class="token punctuation">]</span>,
|
|
|
<span class="token assign-left variable">multiplier</span><span class="token operator">=</span>@Long<span class="token punctuation">[</span><span class="token number">25214903917</span><span class="token punctuation">]</span>,
|
|
|
<span class="token assign-left variable">addend</span><span class="token operator">=</span>@Long<span class="token punctuation">[</span><span class="token number">11</span><span class="token punctuation">]</span>,
|
|
|
<span class="token assign-left variable">mask</span><span class="token operator">=</span>@Long<span class="token punctuation">[</span><span class="token number">281474976710655</span><span class="token punctuation">]</span>,
|
|
|
<span class="token assign-left variable">DOUBLE_UNIT</span><span class="token operator">=</span>@Double<span class="token punctuation">[</span><span class="token number">1</span>.1102230246251565E-16<span class="token punctuation">]</span>,
|
|
|
<span class="token assign-left variable">BadBound</span><span class="token operator">=</span>@String<span class="token punctuation">[</span>bound must be positive<span class="token punctuation">]</span>,
|
|
|
<span class="token assign-left variable">BadRange</span><span class="token operator">=</span>@String<span class="token punctuation">[</span>bound must be greater than origin<span class="token punctuation">]</span>,
|
|
|
<span class="token assign-left variable">BadSize</span><span class="token operator">=</span>@String<span class="token punctuation">[</span>size must be non-negative<span class="token punctuation">]</span>,
|
|
|
<span class="token assign-left variable">seedUniquifier</span><span class="token operator">=</span>@AtomicLong<span class="token punctuation">[</span>-3282039941672302964<span class="token punctuation">]</span>,
|
|
|
<span class="token assign-left variable">nextNextGaussian</span><span class="token operator">=</span>@Double<span class="token punctuation">[</span><span class="token number">0.0</span><span class="token punctuation">]</span>,
|
|
|
<span class="token assign-left variable">haveNextNextGaussian</span><span class="token operator">=</span>@Boolean<span class="token punctuation">[</span>false<span class="token punctuation">]</span>,
|
|
|
<span class="token assign-left variable">serialPersistentFields</span><span class="token operator">=</span>@ObjectStreamField<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">[</span>isEmpty<span class="token operator">=</span>false<span class="token punctuation">;</span><span class="token assign-left variable">size</span><span class="token operator">=</span><span class="token number">3</span><span class="token punctuation">]</span>,
|
|
|
<span class="token assign-left variable">unsafe</span><span class="token operator">=</span>@Unsafe<span class="token punctuation">[</span>sun.misc.Unsafe@2eaa1027<span class="token punctuation">]</span>,
|
|
|
<span class="token assign-left variable">seedOffset</span><span class="token operator">=</span>@Long<span class="token punctuation">[</span><span class="token number">24</span><span class="token punctuation">]</span>,
|
|
|
<span class="token punctuation">]</span>,
|
|
|
<span class="token assign-left variable">illegalArgumentCount</span><span class="token operator">=</span>@Integer<span class="token punctuation">[</span><span class="token number">13159</span><span class="token punctuation">]</span>,
|
|
|
<span class="token punctuation">]</span>,
|
|
|
<span class="token punctuation">]</span>
|
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ul><li><code>-x</code>: Expand level of object (1 by default)</li><li>The max value of <code>-x</code> is 4, to prevent the expansion result taking up too much memory. Users can specify the field in the <code>ognl</code> expression.</li></ul><h3 id="use-condition-expressions-to-locate-specific-call" tabindex="-1"><a class="header-anchor" href="#use-condition-expressions-to-locate-specific-call" aria-hidden="true">#</a> Use condition expressions to locate specific call</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ <span class="token function">watch</span> demo.MathGame primeFactors <span class="token string">"{params[0],target}"</span> <span class="token string">"params[0]<0"</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">68</span> ms.
|
|
|
<span class="token assign-left variable">ts</span><span class="token operator">=</span><span class="token number">2018</span>-12-03 <span class="token number">19</span>:36:04<span class="token punctuation">;</span> <span class="token punctuation">[</span>cost<span class="token operator">=</span><span class="token number">0</span>.530255ms<span class="token punctuation">]</span> <span class="token assign-left variable">result</span><span class="token operator">=</span>@ArrayList<span class="token punctuation">[</span>
|
|
|
@Integer<span class="token punctuation">[</span>-18178089<span class="token punctuation">]</span>,
|
|
|
@MathGame<span class="token punctuation">[</span>demo.MathGame@41cf53f9<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></div><h3 id="check-exceptions" tabindex="-1"><a class="header-anchor" href="#check-exceptions" aria-hidden="true">#</a> Check <code>exceptions</code></h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ <span class="token function">watch</span> demo.MathGame primeFactors <span class="token string">"{params[0],throwExp}"</span> <span class="token parameter variable">-e</span> <span class="token parameter variable">-x</span> <span class="token number">2</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">62</span> ms.
|
|
|
<span class="token assign-left variable">ts</span><span class="token operator">=</span><span class="token number">2018</span>-12-03 <span class="token number">19</span>:38:00<span class="token punctuation">;</span> <span class="token punctuation">[</span>cost<span class="token operator">=</span><span class="token number">1</span>.414993ms<span class="token punctuation">]</span> <span class="token assign-left variable">result</span><span class="token operator">=</span>@ArrayList<span class="token punctuation">[</span>
|
|
|
@Integer<span class="token punctuation">[</span>-1120397038<span class="token punctuation">]</span>,
|
|
|
java.lang.IllegalArgumentException: number is: -1120397038, need <span class="token operator">>=</span> <span class="token number">2</span>
|
|
|
at demo.MathGame.primeFactors<span class="token punctuation">(</span>MathGame.java:46<span class="token punctuation">)</span>
|
|
|
at demo.MathGame.run<span class="token punctuation">(</span>MathGame.java:24<span class="token punctuation">)</span>
|
|
|
at demo.MathGame.main<span class="token punctuation">(</span>MathGame.java:16<span class="token punctuation">)</span>
|
|
|
,
|
|
|
<span class="token punctuation">]</span>
|
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ul><li><code>-e</code>: Trigger when an exception is thrown</li><li><code>throwExp</code>: the exception object</li></ul><h3 id="filter-by-time-cost" tabindex="-1"><a class="header-anchor" href="#filter-by-time-cost" aria-hidden="true">#</a> Filter by time cost</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ <span class="token function">watch</span> demo.MathGame primeFactors <span class="token string">'{params, returnObj}'</span> <span class="token string">'#cost>200'</span> <span class="token parameter variable">-x</span> <span class="token number">2</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">66</span> ms.
|
|
|
<span class="token assign-left variable">ts</span><span class="token operator">=</span><span class="token number">2018</span>-12-03 <span class="token number">19</span>:40:28<span class="token punctuation">;</span> <span class="token punctuation">[</span>cost<span class="token operator">=</span><span class="token number">2112</span>.168897ms<span class="token punctuation">]</span> <span class="token assign-left variable">result</span><span class="token operator">=</span>@ArrayList<span class="token punctuation">[</span>
|
|
|
@Object<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">[</span>
|
|
|
@Integer<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span>,
|
|
|
<span class="token punctuation">]</span>,
|
|
|
@ArrayList<span class="token punctuation">[</span>
|
|
|
@Integer<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span>,
|
|
|
@Integer<span class="token punctuation">[</span><span class="token number">428379493</span><span class="token punctuation">]</span>,
|
|
|
<span class="token punctuation">]</span>,
|
|
|
<span class="token punctuation">]</span>
|
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ul><li><code>#cost>200</code> (<code>ms</code>) filter out all invokings that take less than <code>200ms</code>.</li></ul><h3 id="check-the-field-of-the-target-object" tabindex="-1"><a class="header-anchor" href="#check-the-field-of-the-target-object" aria-hidden="true">#</a> Check the field of the target object</h3><ul><li><code>target</code> is the <code>this</code> object in java.</li></ul><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ <span class="token function">watch</span> demo.MathGame primeFactors <span class="token string">'target'</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">52</span> ms.
|
|
|
<span class="token assign-left variable">ts</span><span class="token operator">=</span><span class="token number">2018</span>-12-03 <span class="token number">19</span>:41:52<span class="token punctuation">;</span> <span class="token punctuation">[</span>cost<span class="token operator">=</span><span class="token number">0</span>.477882ms<span class="token punctuation">]</span> <span class="token assign-left variable">result</span><span class="token operator">=</span>@MathGame<span class="token punctuation">[</span>
|
|
|
<span class="token assign-left variable">random</span><span class="token operator">=</span>@Random<span class="token punctuation">[</span>java.util.Random@522b408a<span class="token punctuation">]</span>,
|
|
|
<span class="token assign-left variable">illegalArgumentCount</span><span class="token operator">=</span>@Integer<span class="token punctuation">[</span><span class="token number">13355</span><span class="token punctuation">]</span>,
|
|
|
<span class="token punctuation">]</span>
|
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ul><li><code>target.field_name</code>: the field of the current object.</li></ul><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ <span class="token function">watch</span> demo.MathGame primeFactors <span class="token string">'target.illegalArgumentCount'</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">67</span> ms.
|
|
|
<span class="token assign-left variable">ts</span><span class="token operator">=</span><span class="token number">2018</span>-12-03 <span class="token number">20</span>:04:34<span class="token punctuation">;</span> <span class="token punctuation">[</span>cost<span class="token operator">=</span><span class="token number">131</span>.303498ms<span class="token punctuation">]</span> <span class="token assign-left variable">result</span><span class="token operator">=</span>@Integer<span class="token punctuation">[</span><span class="token number">8</span><span class="token punctuation">]</span>
|
|
|
<span class="token assign-left variable">ts</span><span class="token operator">=</span><span class="token number">2018</span>-12-03 <span class="token number">20</span>:04:35<span class="token punctuation">;</span> <span class="token punctuation">[</span>cost<span class="token operator">=</span><span class="token number">0</span>.961441ms<span class="token punctuation">]</span> <span class="token assign-left variable">result</span><span class="token operator">=</span>@Integer<span class="token punctuation">[</span><span class="token number">8</span><span class="token punctuation">]</span>
|
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="get-a-static-field-and-calling-a-static-method" tabindex="-1"><a class="header-anchor" href="#get-a-static-field-and-calling-a-static-method" aria-hidden="true">#</a> Get a static field and calling a static method</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code><span class="token function">watch</span> demo.MathGame * <span class="token string">'{params,@demo.MathGame@random.nextInt(100)}'</span> <span class="token parameter variable">-v</span> <span class="token parameter variable">-n</span> <span class="token number">1</span> <span class="token parameter variable">-x</span> <span class="token number">2</span>
|
|
|
<span class="token punctuation">[</span>arthas@6527<span class="token punctuation">]</span>$ <span class="token function">watch</span> demo.MathGame * <span class="token string">'{params,@demo.MathGame@random.nextInt(100)}'</span> <span class="token parameter variable">-n</span> <span class="token number">1</span> <span class="token parameter variable">-x</span> <span class="token number">2</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">5</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">3</span>
|
|
|
<span class="token assign-left variable">ts</span><span class="token operator">=</span><span class="token number">2021</span>-01-05 <span class="token number">21</span>:35:20<span class="token punctuation">;</span> <span class="token punctuation">[</span>cost<span class="token operator">=</span><span class="token number">0</span>.173966ms<span class="token punctuation">]</span> <span class="token assign-left variable">result</span><span class="token operator">=</span>@ArrayList<span class="token punctuation">[</span>
|
|
|
@Object<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">[</span>
|
|
|
@Integer<span class="token punctuation">[</span>-138282<span class="token punctuation">]</span>,
|
|
|
<span class="token punctuation">]</span>,
|
|
|
@Integer<span class="token punctuation">[</span><span class="token number">89</span><span class="token punctuation">]</span>,
|
|
|
<span class="token punctuation">]</span>
|
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ul><li>Note that here you use <code>Thread.currentThread().getContextClassLoader()</code> to load, and it is better to use the exact <code>classloader</code> <a href="/en/doc/ognl.html" class="">ognl</a>.</li></ul><h3 id="exclude-the-specified-class" tabindex="-1"><a class="header-anchor" href="#exclude-the-specified-class" aria-hidden="true">#</a> Exclude the specified class</h3><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><h3 id="does-not-match-subclass" tabindex="-1"><a class="header-anchor" href="#does-not-match-subclass" aria-hidden="true">#</a> Does not match subclass</h3><p>By default, the watch/trace/monitor/stack/tt commands will match subclass. If you don't want to match, you can turn it off.</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>options disable-sub-class <span class="token boolean">true</span>
|
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h3 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</h3><blockquote><p>The watch/trace/monitor/stack/tt commands all support the <code>-v</code> parameter.</p></blockquote><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><p>such as:</p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>$ watch -v -x 2 demo.MathGame print 'params' 'params[0] > 100000'
|
|
|
Press Q or Ctrl+C to abort.
|
|
|
Affect(class count: 1 , method count: 1) cost in 29 ms, listenerId: 11
|
|
|
Condition express: params[0] > 100000 , result: false
|
|
|
Condition express: params[0] > 100000 , result: false
|
|
|
Condition express: params[0] > 100000 , result: true
|
|
|
ts=2020-12-02 22:38:56; [cost=0.060843ms] result=@Object[][
|
|
|
@Integer[1],
|
|
|
@ArrayList[
|
|
|
@Integer[200033],
|
|
|
],
|
|
|
]
|
|
|
Condition express: params[0] > 100000 , result: true
|
|
|
ts=2020-12-02 22:38:57; [cost=0.052877ms] result=@Object[][
|
|
|
@Integer[1],
|
|
|
@ArrayList[
|
|
|
@Integer[29],
|
|
|
@Integer[4243],
|
|
|
],
|
|
|
]
|
|
|
</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></div></div><!--[--><!--]--></div><footer class="page-meta right-menu-padding" data-v-fdd717e0><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/watch.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: LHearen@126.com">Hearen</span><!--[-->, <!--]--><!--]--><!--[--><span class="contributor" title="email: i@fatpandac.com">Fatpandac</span><!--[-->, <!--]--><!--]--><!--[--><span class="contributor" title="email: haoyixing@kuaishou.com">haoyixing</span><!--[-->, <!--]--><!--]--><!--[--><span class="contributor" title="email: hengyunabc@users.noreply.github.com">hengyunabc</span><!--[-->, <!--]--><!--]--><!--[--><span class="contributor" title="email: 35672972+pandaapo@users.noreply.github.com">pandaapo</span><!--[-->, <!--]--><!--]--><!--[--><span class="contributor" title="email: hollowman186@vip.qq.com">Hollow Man</span><!--[-->, <!--]--><!--]--><!--[--><span class="contributor" title="email: lhearen@gmail.com">LHearen</span><!--[-->, <!--]--><!--]--><!--[--><span class="contributor" title="email: 983433479@qq.com">汪吉</span><!----><!--]--><!--]--></span></div></footer><nav class="page-nav right-menu-padding" data-v-fdd717e0><p class="inner"><span class="prev"><a href="/en/doc/vmtool.html" class="" aria-label="vmtool"><!--[--><!--]--> vmtool <!--[--><!--]--></a></span><!----></p></nav><!--[--><!--]--></main><!--]--></div><!----><!--]--></div>
|
|
|
<script type="module" src="/assets/app.e05b0501.js" defer></script>
|
|
|
</body>
|
|
|
</html>
|