import{_ as i,o as l,c,a,b as e,w as t,e as s,d,r}from"./app.6c27e557.js";const p={},h=a("h1",{id:"other-features",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#other-features","aria-hidden":"true"},"#"),s(" Other features")],-1),u=a("h2",{id:"arthas-async-jobs",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#arthas-async-jobs","aria-hidden":"true"},"#"),s(" Arthas Async Jobs")],-1),b=a("p",null,"If you need to investigate an issue, but you are unsure about the exact time it occurs, you can run the monitoring command in the background and save the output to a log file.",-1),m=s("Arthas Async Jobs"),v=a("h2",{id:"log-the-output",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#log-the-output","aria-hidden":"true"},"#"),s(" Log the output")],-1),_=a("p",null,"All execution records are fully saved in the log file for subsequent analysis.",-1),k=s("log the output"),g=a("h2",{id:"docker",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#docker","aria-hidden":"true"},"#"),s(" Docker")],-1),f=a("p",null,"Arthas configuration reference for using in Docker containers.",-1),A=s("Docker"),x=a("h2",{id:"web-console",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#web-console","aria-hidden":"true"},"#"),s(" Web Console")],-1),w=a("p",null,"Arthas supports living inside a browser. The communication between arthas and browser is via websocket.",-1),y=s("Web Console"),j=a("h2",{id:"arthas-tunnel",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#arthas-tunnel","aria-hidden":"true"},"#"),s(" Arthas Tunnel")],-1),I=a("p",null,"Arthas Tunnel Server/Client enables remote management/connection to Java services across multiple servers.",-1),T=s("Arthas Tunnel"),S=a("h2",{id:"how-to-use-ognl",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#how-to-use-ognl","aria-hidden":"true"},"#"),s(" How to use ognl")],-1),P={href:"https://github.com/alibaba/arthas/issues/11",target:"_blank",rel:"noopener noreferrer"},B=s("Basic ognl example"),C={href:"https://github.com/alibaba/arthas/issues/71",target:"_blank",rel:"noopener noreferrer"},E=s("Ognl special uses"),J=a("h2",{id:"idea-plugin",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#idea-plugin","aria-hidden":"true"},"#"),s(" IDEA Plugin")],-1),D=a("p",null,"Build arthas commands more efficiently in the IntelliJ IDEA compiler.",-1),N=s("IDEA Plugin"),O=a("h2",{id:"arthas-properties",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#arthas-properties","aria-hidden":"true"},"#"),s(" Arthas Properties")],-1),H=a("p",null,"Arthas supports configuration options reference.",-1),L=s("Arthas Properties"),V=a("h2",{id:"start-as-a-java-agent",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#start-as-a-java-agent","aria-hidden":"true"},"#"),s(" Start as a Java Agent")],-1),U=s("Start as a Java Agent"),F=a("h2",{id:"arthas-spring-boot-starter",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#arthas-spring-boot-starter","aria-hidden":"true"},"#"),s(" Arthas Spring Boot Starter")],-1),R=a("p",null,"Starting with the application.",-1),W=s("Arthas Spring Boot Starter"),$=a("h2",{id:"http-api",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#http-api","aria-hidden":"true"},"#"),s(" HTTP API")],-1),q=a("p",null,"The Http API provides structured data and supports more complex interactive functions, making it easier to integrate Arthas into custom interfaces.",-1),z=s("HTTP API"),M=a("h2",{id:"batch-processing",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#batch-processing","aria-hidden":"true"},"#"),s(" Batch Processing")],-1),G=a("p",null,[s("It is convenient for running multiple commands in bulk with custom scripts. It can be used in conjunction with the "),a("code",null,"--select"),s(" parameter to specify the process name.")],-1),K=s("Batch Processing"),Q=d(`

as.sh and arthas-boot tips

Normally, as.sh/arthas-boot.jar needs to a pid, bacause the pid will change.

For example, with math-game.jar already started, use the jps command to see.

$ jps
58883 math-game.jar
58884 Jps

The select option allows you to specify a process name, which is very convenient.

$ ./as.sh --select math-game
Arthas script version: 3.3.6
[INFO] JAVA_HOME: /tmp/java/8.0.222-zulu
Arthas home: /Users/admin/.arthas/lib/3.3.6/arthas
Calculating attach execution time...
Attaching to 59161 using version /Users/admin/.arthas/lib/3.3.6/arthas...

real	0m0.572s
user	0m0.281s
sys	0m0.039s
Attach success.
telnet connecting to arthas server... current timestamp is 1594280799
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
  ,---.  ,------. ,--------.,--.  ,--.  ,---.   ,---.
 /  O  \\ |  .--. ''--.  .--'|  '--'  | /  O  \\ '   .-'
|  .-.  ||  '--'.'   |  |   |  .--.  ||  .-.  |\`.  \`-.
|  | |  ||  |\\  \\    |  |   |  |  |  ||  | |  |.-'    |
\`--' \`--'\`--' '--'   \`--'   \`--'  \`--'\`--' \`--'\`-----'


wiki      https://arthas.aliyun.com/doc
tutorials https://arthas.aliyun.com/doc/arthas-tutorials.html
version   3.3.6
pid       58883

User data report

After the 3.1.4 version, arthas support user data report.

At startup, use the stat-url option, such as: ./as.sh --stat-url 'http://192.168.10.11:8080/api/stat'

There is a sample data report in the tunnel server that users can implement on their own.

`,11),X={href:"https://github.com/alibaba/arthas/blob/master/tunnel-server/src/main/java/com/alibaba/arthas/tunnel/server/app/web/StatController.java",target:"_blank",rel:"noopener noreferrer"},Y=s("StatController.java");function Z(aa,sa){const n=r("RouterLink"),o=r("ExternalLinkIcon");return l(),c("div",null,[h,u,b,a("ul",null,[a("li",null,[e(n,{to:"/en/doc/async.html"},{default:t(()=>[m]),_:1})])]),v,_,a("ul",null,[a("li",null,[e(n,{to:"/en/doc/save-log.html"},{default:t(()=>[k]),_:1})])]),g,f,a("ul",null,[a("li",null,[e(n,{to:"/en/doc/docker.html"},{default:t(()=>[A]),_:1})])]),x,w,a("ul",null,[a("li",null,[e(n,{to:"/en/doc/web-console.html"},{default:t(()=>[y]),_:1})])]),j,I,a("ul",null,[a("li",null,[e(n,{to:"/en/doc/tunnel.html"},{default:t(()=>[T]),_:1})])]),S,a("ul",null,[a("li",null,[a("a",P,[B,e(o)])]),a("li",null,[a("a",C,[E,e(o)])])]),J,D,a("ul",null,[a("li",null,[e(n,{to:"/en/doc/idea-plugin.html"},{default:t(()=>[N]),_:1})])]),O,H,a("ul",null,[a("li",null,[e(n,{to:"/en/doc/arthas-properties.html"},{default:t(()=>[L]),_:1})])]),V,a("ul",null,[a("li",null,[e(n,{to:"/en/doc/agent.html"},{default:t(()=>[U]),_:1})])]),F,R,a("ul",null,[a("li",null,[e(n,{to:"/en/doc/spring-boot-starter.html"},{default:t(()=>[W]),_:1})])]),$,q,a("ul",null,[a("li",null,[e(n,{to:"/en/doc/http-api.html"},{default:t(()=>[z]),_:1})])]),M,G,a("ul",null,[a("li",null,[e(n,{to:"/en/doc/batch-support.html"},{default:t(()=>[K]),_:1})])]),Q,a("p",null,[a("a",X,[Y,e(o)])])])}const na=i(p,[["render",Z],["__file","advanced-use.html.vue"]]);export{na as default};