update doc

This commit is contained in:
hengyunabc committed 2020-08-11 00:46:35 +08:00
1 parent da7f56955b
commit da13c6dce1
193 files changed
+1699 -2068

No files matched your search

+1 -1
View File
@@ -1 +1 @@
Arthas is an online diagnostic product, via which you can easily grasp the overview of the load, memory, GC, thread profile. With the help of Arthas, you can analyze business issues without even modifying the production code. You can check the arguments, returned value, exceptions of the method, apart from that you can even monitor the time cost by the method as well as classes loaded. With all those assistance, the online troubleshooting can be much easier than ever before. Have a [try](https://alibaba.github.io/arthas/index.html) now!
Arthas is an online diagnostic product, via which you can easily grasp the overview of the load, memory, GC, thread profile. With the help of Arthas, you can analyze business issues without even modifying the production code. You can check the arguments, returned value, exceptions of the method, apart from that you can even monitor the time cost by the method as well as classes loaded. With all those assistance, the online troubleshooting can be much easier than ever before. Have a [try](https://arthas.aliyun.com/doc/index.html) now!
+3 -3
View File
@@ -70,7 +70,7 @@ Arthas provides `pipe` to process the result returned from commands further, e.g
* plaintext - remove the ANSI color
* wc - count lines
## async in background
## async jobs
[async](async.md) can be handy when a problem is hardly to reproduce in the production environment, e.g. one `watch` condition may happen only once in one single day.
@@ -130,8 +130,8 @@ Escape character is '^]'.
`--' `--'`--' '--' `--' `--' `--'`--' `--'`-----'
wiki https://alibaba.github.io/arthas
tutorials https://alibaba.github.io/arthas/arthas-tutorials
wiki https://arthas.aliyun.com/doc
tutorials https://arthas.aliyun.com/doc/arthas-tutorials.html
version 3.3.6
pid 58883
```
+2
View File
@@ -1,6 +1,8 @@
Arthas Async Jobs
===
[`Async Jobs` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials?language=en&id=case-async-jobs)
Asynchronous jobs in arthas. The idea is borrowed from [linux jobs](http://man7.org/linux/man-pages/man1/jobs.1p.html).
+1 -1
View File
@@ -1,7 +1,7 @@
cat
===
[`cat` online tutorial](https://alibaba.github.io/arthas/arthas-tutorials?language=en&id=command-cat)
[`cat` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-cat)
> Concatenate and print files
+1 -1
View File
@@ -1,7 +1,7 @@
dashboard
=========
[`dashboard` online tutorial](https://alibaba.github.io/arthas/arthas-tutorials?language=en&id=command-dashboard)
[`dashboard` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-dashboard)
> This is the real time statistics dashboard for the current system, press `Ctrl+C` to exit.
+3 -3
View File
@@ -32,7 +32,7 @@ Docker
`--' `--'`--' '--' `--' `--' `--'`--' `--'`-----'
wiki: https://alibaba.github.io/arthas
wiki: https://arthas.aliyun.com/doc
version: 3.0.5
pid: 9
time: 2018-12-18 11:30:36
@@ -41,13 +41,13 @@ Docker
## Diagnose the Java process in Docker
```sh
docker exec -it ${containerId} /bin/bash -c "wget https://alibaba.github.io/arthas/arthas-boot.jar && java -jar arthas-boot.jar"
docker exec -it ${containerId} /bin/bash -c "wget https://arthas.aliyun.com/arthas-boot.jar && java -jar arthas-boot.jar"
```
## Diagnose the Java process in the container in k8s
```sh
kubectl exec -it ${pod} --container ${containerId} -- /bin/bash -c "wget https://alibaba.github.io/arthas/arthas-boot.jar && java -jar arthas-boot.jar"
kubectl exec -it ${pod} --container ${containerId} -- /bin/bash -c "wget https://arthas.aliyun.com/arthas-boot.jar && java -jar arthas-boot.jar"
```
## Install Arthas into the base Docker image
+2 -2
View File
@@ -5,7 +5,7 @@ Download
### Download from maven central
Latest Version, Click To Download: [![](https://img.shields.io/maven-central/v/com.taobao.arthas/arthas-packaging.svg?style=flat-square "Arthas")](http://repository.sonatype.org/service/local/artifact/maven/redirect?r=central-proxy&g=com.taobao.arthas&a=arthas-packaging&e=zip&c=bin&v=LATEST)
Latest Version, Click To Download: [![](https://img.shields.io/maven-central/v/com.taobao.arthas/arthas-packaging.svg?style=flat-square "Arthas")](https://arthas.aliyun.com/download/latest_version)
### Download from Github Releases
@@ -42,5 +42,5 @@ java -jar arthas-boot.jar -h
## Download Offline Help Documentation
Latest Version Documentation, Click To Download:[![](https://img.shields.io/maven-central/v/com.taobao.arthas/arthas-packaging.svg?style=flat-square "Arthas")](http://repository.sonatype.org/service/local/artifact/maven/redirect?r=central-proxy&g=com.taobao.arthas&a=arthas-packaging&e=zip&c=doc&v=LATEST)
Latest Version Documentation, Click To Download:[![](https://img.shields.io/maven-central/v/com.taobao.arthas/arthas-packaging.svg?style=flat-square "Arthas")](https://arthas.aliyun.com/download/doc/latest_version)
+11 -1
View File
@@ -1,6 +1,8 @@
dump
===
[`dump` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials?language=en&id=command-dump)
> Dump the bytecode for the particular classes to the specified directory.
### Options
@@ -9,6 +11,7 @@ dump
|---:|:---|
|*class-pattern*|class name pattern|
|`[c:]`|hashcode of the [class loader](classloader.md) that loaded the target class|
|`[d:]`|set the destination directory for class files|
|`[E]`|turn on regex match, the default behavior is wild card match|
### Usage
@@ -26,4 +29,11 @@ $ dump demo.*
3d4eac69 +-sun.misc.Launcher$AppClassLoader@3d4eac69 /Users/admin/logs/arthas/classdump/sun.misc.Launcher$AppClassLoader-3d4eac69/demo/MathGame.class
+-sun.misc.Launcher$ExtClassLoader@66350f69
Affect(row-cnt:1) cost in 39 ms.
```
```
```bash
$ dump -d /tmp/output java.lang.String
HASHCODE CLASSLOADER LOCATION
null /tmp/output/java/lang/String.class
Affect(row-cnt:1) cost in 138 ms.
```
+1 -1
View File
@@ -1,7 +1,7 @@
echo
===
[`echo` online tutorial](https://alibaba.github.io/arthas/arthas-tutorials?language=en&id=command-echo)
[`echo` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-echo)
> write arguments to the standard output.
+2
View File
@@ -1,6 +1,8 @@
getstatic
=========
[`getstatic` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-getstatic)
* It is recommended to use the [OGNL] (ognl.md) command, which will be more flexible.
Check the static fields of classes conveniently, the usage is `getstatic class_name field_name`.
+2 -2
View File
@@ -1,7 +1,7 @@
grep
===
[`grep` online tutorial](https://alibaba.github.io/arthas/arthas-tutorials?language=en&id=command-grep)
[`grep` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-grep)
> Similar to the traditional `grep` command.
@@ -22,7 +22,7 @@ grep
thread | grep -m 10 -e "TIMED_WAITING|WAITING"
WIKI:
https://alibaba.github.io/arthas/grep
https://arthas.aliyun.com/doc/grep
OPTIONS:
-A, --after-context <value> Print NUM lines of trailing context)
+2
View File
@@ -1,6 +1,8 @@
heapdump
===
[`heapdump` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-heapdump)
> dump java heap in hprof binary format, like `jmap`.
+3 -2
View File
@@ -1,7 +1,7 @@
Arthas Documentation
===
**[中文文档/Chinese Documentation](https://alibaba.github.io/arthas/)**
**[中文文档/Chinese Documentation](https://arthas.aliyun.com/doc/)**
![](arthas.png)
@@ -39,13 +39,14 @@ Arthas is built to solve these issues. A developer can troubleshoot production i
Contents
--------
* [Online tutorials(Recommend)](https://alibaba.github.io/arthas/arthas-tutorials?language=en)
* [Online tutorials(Recommend)](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en)
* [Installation](install-detail.md)
* [Download](download.md)
* [Quick start](quick-start.md)
* [Advanced usage](advanced-use.md)
* [Commands](commands.md)
* [WebConsole](web-console.md)
* [Http API](http-api.md)
* [Docker](docker.md)
* [Arthas Spring Boot Starter](spring-boot-starter.md)
* [User cases](https://github.com/alibaba/arthas/issues?q=label%3Auser-case)
+4 -4
View File
@@ -9,7 +9,7 @@ Install Arthas
Download`arthas-boot.jar`,Start with `java` command:
```bash
curl -O https://alibaba.github.io/arthas/arthas-boot.jar
curl -O https://arthas.aliyun.com/arthas-boot.jar
java -jar arthas-boot.jar
```
@@ -25,7 +25,7 @@ java -jar arthas-boot.jar -h
You can install Arthas with one single line command on Linux, Unix, and Mac. Pls. copy the following command and paste it into the command line, then press *Enter* to run:
```bash
curl -L https://alibaba.github.io/arthas/install.sh | sh
curl -L https://arthas.aliyun.com/install.sh | sh
```
The command above will download the bootstrap script `as.sh` to the current directory. You can move it to any other place you want, or put its location in `$PATH`.
@@ -35,7 +35,7 @@ You can enter its interactive interface by executing `as.sh`, or execute `as.sh
## Full installation
Latest Version, Click To Download: [![](https://img.shields.io/maven-central/v/com.taobao.arthas/arthas-packaging.svg?style=flat-square "Arthas")](http://repository.sonatype.org/service/local/artifact/maven/redirect?r=central-proxy&g=com.taobao.arthas&a=arthas-packaging&e=zip&c=doc&v=LATEST)
Latest Version, Click To Download: [![](https://img.shields.io/maven-central/v/com.taobao.arthas/arthas-packaging.svg?style=flat-square "Arthas")](https://arthas.aliyun.com/download/latest_version)
Download and unzip, find `arthas-boot.jar` in the directory. Start with `java` command:
@@ -80,7 +80,7 @@ as.sh
## Offline Help Documentation
Latest Version Documentation, Click To Download:[![](https://img.shields.io/maven-central/v/com.taobao.arthas/arthas-packaging.svg?style=flat-square "Arthas")](http://repository.sonatype.org/service/local/artifact/maven/redirect?r=central-proxy&g=com.taobao.arthas&a=arthas-packaging&e=zip&c=doc&v=LATEST)
Latest Version Documentation, Click To Download:[![](https://img.shields.io/maven-central/v/com.taobao.arthas/arthas-packaging.svg?style=flat-square "Arthas")](https://arthas.aliyun.com/download/doc/latest_version)
## Uninstall
+1 -1
View File
@@ -1,7 +1,7 @@
jvm
===
[`sysenv` online tutorial](https://alibaba.github.io/arthas/arthas-tutorials?language=en&id=command-sysenv)
[`sysenv` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-sysenv)
> Check the current JVM's info
+1 -1
View File
@@ -1,7 +1,7 @@
Arthas Console Keymap
===
[`keymap` online tutorial](https://alibaba.github.io/arthas/arthas-tutorials?language=en&id=command-keymap)
[`keymap` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-keymap)
Use `keymap` command to print the current keymap:
+3 -4
View File
@@ -5,9 +5,8 @@ Manually Install Arthas
1. Download the latest version
**Latest version, Click To Download**: [![](https://img.shields.io/maven-central/v/com.taobao.arthas/arthas-packaging.svg?style=flat-square "Arthas")](http://repository.sonatype.org/service/local/artifact/maven/redirect?r=central-proxy&g=com.taobao.arthas&a=arthas-packaging&e=zip&c=bin&v=LATEST)
**Latest version, Click To Download**: [![](https://img.shields.io/maven-central/v/com.taobao.arthas/arthas-packaging.svg?style=flat-square "Arthas")](https://arthas.aliyun.com/download/latest_version)
If the download speed is slow, try to use [Ali cloud mirror repository](https://maven.aliyun.com/), for example, to download version `3.x.x` (you can replace `3.x.x` in the example URL if you want to download other version), the download URL is: https://maven.aliyun.com/repository/public/com/taobao/arthas/arthas-packaging/3.x.x/arthas-packaging-3.x.x-bin.zip
2. Unzip zip file
@@ -42,7 +41,7 @@ Manually Install Arthas
You can install Arthas with one single line command on Linux, Unix, and Mac. Pls. copy the following command and paste it into the command line, then press *Enter* to run:
```bash
curl -L https://alibaba.github.io/arthas/install.sh | sh
curl -L https://arthas.aliyun.com/install.sh | sh
```
The command above will download the bootstrap script `as.sh` to the current directory. You can move it the any other place you want, or put its location in `$PATH`.
@@ -51,7 +50,7 @@ You can enter its interactive interface by executing `as.sh`, or execute `as.sh
### Windows
Latest Version, Click To Download: [![](https://img.shields.io/maven-central/v/com.taobao.arthas/arthas-packaging.svg?style=flat-square "Arthas")](http://repository.sonatype.org/service/local/artifact/maven/redirect?r=central-proxy&g=com.taobao.arthas&a=arthas-packaging&e=zip&c=bin&v=LATEST)
Latest Version, Click To Download: [![](https://img.shields.io/maven-central/v/com.taobao.arthas/arthas-packaging.svg?style=flat-square "Arthas")](https://arthas.aliyun.com/download/latest_version)
Download and unzip, then find `as.bat` from 'bin' directory. For now this script will only take one argument `pid`, which means you can only diagnose the local Java process. (Welcome any bat script expert to make it better :heart:)
+2
View File
@@ -1,6 +1,8 @@
mbean
=======
[`mbean` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-mbean)
> show Mbean information
This command can show or monitor Mbean attribute information.
+2
View File
@@ -1,6 +1,8 @@
monitor
=======
[`monitor` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-monitor)
> Monitor method invocation.
Monitor invocation for the method matched with `class-pattern` and `method-pattern`.
+35
View File
@@ -1,6 +1,8 @@
ognl
===
[`ognl` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials?language=en&id=command-ognl)
> Execute ognl expression.
Since 3.0.5.
@@ -11,6 +13,7 @@ Since 3.0.5.
|---:|:---|
|*express*|expression to be executed|
|`[c:]`| The hashcode of the ClassLoader that executes the expression, default ClassLoader is SystemClassLoader. |
|`[classLoaderClass:]`| The class name of the ClassLoader that executes the expression. |
|[x]|Expand level of object (1 by default).|
@@ -49,6 +52,38 @@ $ ognl '@demo.MathGame@random'
]
```
Specify ClassLoader by hashcode:
```bash
$ classloader -t
+-BootstrapClassLoader
+-jdk.internal.loader.ClassLoaders$PlatformClassLoader@301ec38b
+-com.taobao.arthas.agent.ArthasClassloader@472067c7
+-jdk.internal.loader.ClassLoaders$AppClassLoader@4b85612c
+-org.springframework.boot.loader.LaunchedURLClassLoader@7f9a81e8
$ ognl -c 7f9a81e8 @org.springframework.boot.SpringApplication@logger
@Slf4jLocationAwareLog[
FQCN=@String[org.apache.commons.logging.LogAdapter$Slf4jLocationAwareLog],
name=@String[org.springframework.boot.SpringApplication],
logger=@Logger[Logger[org.springframework.boot.SpringApplication]],
]
$
```
Note that the hashcode changes, you need to check the current ClassLoader information first, and extract the hashcode corresponding to the ClassLoader.
For ClassLoader with only unique instance, it can be specified by class name, which is more convenient to use:
```bash
$ ognl --classLoaderClass org.springframework.boot.loader.LaunchedURLClassLoader @org.springframework.boot.SpringApplication@logger
@Slf4jLocationAwareLog[
FQCN=@String[org.apache.commons.logging.LogAdapter$Slf4jLocationAwareLog],
name=@String[org.springframework.boot.SpringApplication],
logger=@Logger[Logger[org.springframework.boot.SpringApplication]],
]
```
Execute a multi-line expression, and return a list:
```bash
+2
View File
@@ -1,6 +1,8 @@
options
===
[`options` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-options)
> Global options
|Name| Default Value | Description |
+1 -1
View File
@@ -1,7 +1,7 @@
perfcounter
===
[`perfcounter` online tutorial](https://alibaba.github.io/arthas/arthas-tutorials?language=en&id=command-perfcounter)
[`perfcounter` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-perfcounter)
> Check the current JVM Perf Counter information.
+1 -1
View File
@@ -1,7 +1,7 @@
pwd
===
[`pwd` online tutorial](https://alibaba.github.io/arthas/arthas-tutorials?language=en&id=command-pwd)
[`pwd` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-pwd)
> Return working directory name
+3 -3
View File
@@ -4,7 +4,7 @@ Quick Start
## 1. Start Demo Application
```bash
curl -O https://alibaba.github.io/arthas/arthas-demo.jar
curl -O https://arthas.aliyun.com/arthas-demo.jar
java -jar arthas-demo.jar
```
@@ -19,7 +19,7 @@ The source code of `arthas-demo`: [View](https://github.com/alibaba/arthas/blob/
Execute the following command in the command line:
```bash
curl -O https://alibaba.github.io/arthas/arthas-boot.jar
curl -O https://arthas.aliyun.com/arthas-boot.jar
java -jar arthas-boot.jar
```
@@ -48,7 +48,7 @@ The 'Demo' process is the second as shown above, press '2' then 'Enter'. Arthas
`--' `--'`--' '--' `--' `--' `--'`--' `--'`-----'
wiki: https://alibaba.github.io/arthas
wiki: https://arthas.aliyun.com/doc
version: 3.0.5.20181127201536
pid: 71560
time: 2018-11-28 19:16:24
+1 -1
View File
@@ -1,7 +1,7 @@
reset
===
[`reset` online tutorial](https://alibaba.github.io/arthas/arthas-tutorials?language=en&id=command-reset)
[`reset` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-reset)
> Reset all classes that have been enhanced by Arthas. These enhanced classes will also be reset when Arthas server is `stop`.
+2
View File
@@ -1,6 +1,8 @@
Log command outputs
===================
[`Log command outputs` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials?language=en&id=case-save-log)
> Log command outputs for later analysis
* By default, this behavior is turned off. To enable it, execute the command below:
+2
View File
@@ -1,6 +1,8 @@
stack
=====
[`stack` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-stack)
> Print out the full call stack of the current method.
Most often we know one method gets called, but we have no idea on which code path gets executed or when the method gets called since there are so many code paths to the target method. The command `stack` comes to rescue in this difficult situation.
+2 -2
View File
@@ -1,7 +1,7 @@
sysenv
=======================
[`sysenv` online tutorial](https://alibaba.github.io/arthas/arthas-tutorials?language=en&id=command-sysenv)
[`sysenv` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-sysenv)
> View the current JVM environment variables.
@@ -19,7 +19,7 @@ sysenv
sysenv USER
WIKI:
https://alibaba.github.io/arthas/sysenv
https://arthas.aliyun.com/doc/sysenv
OPTIONS:
-h, --help this help
+2 -2
View File
@@ -1,7 +1,7 @@
sysprop
=======
[`sysprop` online tutorial](https://alibaba.github.io/arthas/arthas-tutorials?language=en&id=command-sysprop)
[`sysprop` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-sysprop)
> Examine the system properties from the target JVM
@@ -20,7 +20,7 @@ sysprop
sysprop production.mode true
WIKI:
https://alibaba.github.io/arthas/sysprop
https://arthas.aliyun.com/doc/sysprop
OPTIONS:
-h, --help this help
+2 -2
View File
@@ -1,7 +1,7 @@
tee
===
[`tee` online tutorial](https://alibaba.github.io/arthas/arthas-tutorials?language=en&id=command-tee)
[`tee` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-tee)
> Similar to the traditional `tee` command, it is used to read standard input data and output its contents into a file.
@@ -20,7 +20,7 @@ tee
sysprop | tee -a /path/to/logfile | grep java
WIKI:
https://alibaba.github.io/arthas/tee
https://arthas.aliyun.com/doc/tee
OPTIONS:
-a, --append Append to file
+1 -1
View File
@@ -1,7 +1,7 @@
thread
======
[`thread` online tutorial](https://alibaba.github.io/arthas/arthas-tutorials?language=en&id=command-thread)
[`thread` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-thread)
> Check the basic info and stack trace of the target thread.
+2
View File
@@ -1,6 +1,8 @@
trace
=====
[`trace` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-trace)
> Trace method calling path, and output the time cost for each node in the path.
`trace` can track the calling path specified by `class-pattern` / `method-pattern`, and calculate the time cost on the whole path.
+2
View File
@@ -1,6 +1,8 @@
tt
==
[`tt` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-tt)
Check the `parameters`, `return values` and `exceptions` of the methods at different times.
`watch` is a powerful command but due to its feasibility and complexity, it's quite hard to locate the issue effectively.
+1 -1
View File
@@ -1,7 +1,7 @@
vmoption
===
[`vmoption` online tutorial](https://alibaba.github.io/arthas/arthas-tutorials?language=en&id=command-vmoption)
[`vmoption` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-vmoption)
> Display, and update the vm diagnostic options.
+2
View File
@@ -1,6 +1,8 @@
watch
=====
[`watch` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=command-watch)
Monitor methods in data aspect including `return values`, `exceptions` and `parameters`.
With the help of [OGNL](https://commons.apache.org/proper/commons-ognl/index.html), you can easily check the details of variables when methods being invoked.
+3 -2
View File
@@ -1,6 +1,7 @@
Web Console
===
[`Web Console` online tutorial](https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en&id=case-web-console)
### Connect arthas through the browser
@@ -59,8 +60,8 @@ After Arthas attach succeeds, the agentId will be printed, such as:
`--' `--'`--' '--' `--' `--' `--'`--' `--'`-----'
wiki https://alibaba.github.io/arthas
tutorials https://alibaba.github.io/arthas/arthas-tutorials
wiki https://arthas.aliyun.com/doc
tutorials https://arthas.aliyun.com/doc/arthas-tutorials.html
version 3.1.2
pid 86183
time 2019-08-30 15:40:53