diff --git a/en/_sources/advanced-use.md.txt b/en/_sources/advanced-use.md.txt index d3e8d4e75..c1537d669 100644 --- a/en/_sources/advanced-use.md.txt +++ b/en/_sources/advanced-use.md.txt @@ -3,71 +3,74 @@ Advanced Usage ## Basic -* help - show help info -* cls - clear out the current screen -* session - check details of the current session -* [reset](reset.md) - reset all injected/enhanced classes -* version - print the version of the Arthas attaching to the current target process -* quit/exit - exit the current Arthas client without affecting other clients -* shutdown - terminate the Arthas server and all clients +* help - display Arthas help +* cls - clear the screen +* session - display current session information +* [reset](reset.md) - reset all the enhanced classes. All enhanced classes will also be reset when Arthas server is closed by `shutdown` +* version - print the version for the Arthas attached to the current Java process +* quit/exit - exit the current Arthas session, without effecting other sessions +* shutdown - terminate the Arthas server, all Arthas sessions will be destroyed +* [keymap](keymap.md) - keymap for Arthas keyboard shortcut ## JVM -* [dashboard](dashboard.md) - real-time dashboard for the current system -* [thread](thread.md) - thread profile -* [jvm](jvm.md) - JVM profile -* [sysprop](sysprop.md) - check or modify JVM system properties -* **New!** [getstatic](getstatic.md) :clap: - check the static properties of classes +* [dashboard](dashboard.md) - dashboard for the system's real-time data +* [thread](thread.md) - show java thread information +* [jvm](jvm.md) - show JVM information +* [sysprop](sysprop.md) - show/modify system properties +* **New!** [getstatic](getstatic.md) :clap: - examine class's static properties ## class/classloader - -* [sc](sc.md) - check profiles of the classes loaded by JVM -* [sm](sm.md) - check methods' profile -* [dump](dump.md) - dump out the byte code of the loaded classes to specified location -* [redefine](redefine.md) - load external `*.class` files and re-define the JVM-loaded classes +* [sc](sc.md) - check the info for the classes loaded by JVM +* [sm](sm.md) - check methods info for the loaded classes +* [dump](dump.md) - dump the loaded classes in byte code to the specified location +* [redefine](redefine.md) - load external `*.class` files and re-define it into JVM * [jad](jad.md) - de-compile the specified loaded classes -* [classloader](classloader.md) - check the inheritance structure, urls, class loading info of class cloader; using classloader to get the url of the resource e.g. `java/lang/String.class` +* [classloader](classloader.md) - check the inheritance structure, urls, class loading info for the specified class; using classloader to get the url of the resource e.g. `java/lang/String.class` ## monitor/watch/trace - related -> **Attention**: commands here are taking advantage of `byte code injection`, which means we are using [AOP](https://en.wikipedia.org/wiki/Aspect-oriented_programming) to monitor and analyze the classes. So when using it for online troubleshooting, you'd better *explicitly specifically* specify the classes and also remember to remove the injected code by `shutdown` or `reset`. +> **Attention**: commands here are taking advantage of byte-code-injection, which means we are injecting some [aspects](https://en.wikipedia.org/wiki/Aspect-oriented_programming) into the current classes for monitoring and statistics purpose. Therefore when use it for online troubleshooting in your production environment, you'd better **explicitly specify** classes/methods/criteria, and remember to remove the injected code by `shutdown` or `reset`. -* [monitor](monitor.md) - monitor the `class-pattern` & `method-pattern` matched methods' invoking traces -* [watch](watch.md) - watch/monitor methods in data aspect including `return values`, `exceptions` and `parameters` -* [trace](trace.md) - track the method calling trace along with the time cost for each call -* [stack](stack.md) - print the call stack trace of the current method in a persistent way -* [tt](tt.md) - record the arguments and returned value for the methods, history included +* [monitor](monitor.md) - monitor method execution statistics +* [watch](watch.md) - display the input/output parameter, return object, and thrown exception of specified method invocation +* [trace](trace.md) - trace the execution time of specified method invocation +* [stack](stack.md) - display the stack trace for the specified class and method +* [tt](tt.md) - time tunnel, record the arguments and returned value for the methods and replay ## options -* [options](options.md) - check or set Arthas global options +* [options](options.md) - check/set Arthas global options ## pipe -`pipe` is supported in Arthas, e.g. `sm org.apache.log4j.Logger | grep ` +Arthas provides `pipe` to process the result returned from commands further, e.g. `sm org.apache.log4j.Logger | grep `. Commands supported in `pipe`: -Commands supported in `pipe`: - -* grep - filtering +* grep - filter the result with the given keyword * plaintext - remove the color -* wc - line counting +* wc - count lines ## async in background -[async](async.md) will be a great help, when the `incident` seldom occurs and you are [`watch`](watch.md)ing it. - +[async](async.md) can be handy when a problem is hardly to reproduce in the production enviornment, e.g. one `watch` condition may happen only once in one single day. +* job control - use `>` to redirect result into the log file, use `&` to put the job to the background. Job keeps running even if the session is disconnected (the session lifecycle is 1 day by default) * jobs - list all jobs * kill - forcibly terminate the job -* fg - bring the paused job back to the front -* bg - put the paused job to the background -* tips - a) use `>` to redirect the output; b) use `&` to put the job to the background; c) disconnecting the session will not influence the job (the default life is 1 day) +* fg - bring the suspend job to the foreground +* bg - put the job to run in the background -## Others +## Web Console -* [Web Console](web-console.md) - using websocket to connect Arthas +Arthas supports living inside a browser. The communication between arthas and browser is via websocket. + +* [Web Console](web-console.md) + +## Other features + +* [Async support](async.md) * [log the output](save-log.md) * [batch](batch-support.md) * [how to use ognl](https://github.com/alibaba/arthas/issues/11) diff --git a/en/_sources/stack.md.txt b/en/_sources/stack.md.txt index 6b373341d..ce43a730d 100644 --- a/en/_sources/stack.md.txt +++ b/en/_sources/stack.md.txt @@ -1,7 +1,7 @@ stack ===== -Print out the full call stack trace containing the current method. +Print out the full call stack trace *till* the current method. Most of the time, we know the method being invoked but not always we know **HOW being invoked**; `stack` can be a great help to locate the *source* for you. diff --git a/en/_sources/tt.md.txt b/en/_sources/tt.md.txt index b0a134d73..a005e8f49 100644 --- a/en/_sources/tt.md.txt +++ b/en/_sources/tt.md.txt @@ -112,7 +112,7 @@ Advanced: ### Check context of the call -Using `tt -i ` to check a specific record. +Using `tt -i ` to check a specific calling details. ``` $ diff --git a/en/_sources/web-console.md.txt b/en/_sources/web-console.md.txt index 98aa68465..a785da9a0 100644 --- a/en/_sources/web-console.md.txt +++ b/en/_sources/web-console.md.txt @@ -1,7 +1,7 @@ Web Console === -Arthas supports the Web Console. After attach success, the user can access: [http://localhost:8563/] (http://localhost:8563/). +Arthas supports the Web Console. After attach success, the user can access: [http://localhost:8563/](http://localhost:8563/). The user can fill in the IP and connect the remote arthas on other machines. diff --git a/en/advanced-use.html b/en/advanced-use.html index fc5488637..8a3816a5c 100644 --- a/en/advanced-use.html +++ b/en/advanced-use.html @@ -31,7 +31,7 @@ - + @@ -99,7 +99,17 @@
  • options
  • pipe
  • async in background
  • -
  • Others
  • +
  • Web Console +
  • +
  • Other features +
  • Commands
  • @@ -179,84 +189,95 @@

    Basic

      -
    • help - show help info
    • -
    • cls - clear out the current screen
    • -
    • session - check details of the current session
    • -
    • reset - reset all injected/enhanced classes
    • -
    • version - print the version of the Arthas attaching to the current target process
    • -
    • quit/exit - exit the current Arthas client without affecting other clients
    • -
    • shutdown - terminate the Arthas server and all clients
    • +
    • help - display Arthas help
    • +
    • cls - clear the screen
    • +
    • session - display current session information
    • +
    • reset - reset all the enhanced classes. All enhanced classes will also be reset when Arthas server is closed by shutdown
    • +
    • version - print the version for the Arthas attached to the current Java process
    • +
    • quit/exit - exit the current Arthas session, without effecting other sessions
    • +
    • shutdown - terminate the Arthas server, all Arthas sessions will be destroyed
    • +
    • keymap - keymap for Arthas keyboard shortcut

    JVM

      -
    • dashboard - real-time dashboard for the current system
    • -
    • thread - thread profile
    • -
    • jvm - JVM profile
    • -
    • sysprop - check or modify JVM system properties
    • -
    • New! getstatic :clap: - check the static properties of classes
    • +
    • dashboard - dashboard for the system’s real-time data
    • +
    • thread - show java thread information
    • +
    • jvm - show JVM information
    • +
    • sysprop - show/modify system properties
    • +
    • New! getstatic :clap: - examine class’s static properties

    class/classloader

      -
    • sc - check profiles of the classes loaded by JVM
    • -
    • sm - check methods’ profile
    • -
    • dump - dump out the byte code of the loaded classes to specified location
    • -
    • redefine - load external *.class files and re-define the JVM-loaded classes
    • +
    • sc - check the info for the classes loaded by JVM
    • +
    • sm - check methods info for the loaded classes
    • +
    • dump - dump the loaded classes in byte code to the specified location
    • +
    • redefine - load external *.class files and re-define it into JVM
    • jad - de-compile the specified loaded classes
    • -
    • classloader - check the inheritance structure, urls, class loading info of class cloader; using classloader to get the url of the resource e.g. java/lang/String.class
    • +
    • classloader - check the inheritance structure, urls, class loading info for the specified class; using classloader to get the url of the resource e.g. java/lang/String.class

    options

      -
    • options - check or set Arthas global options
    • +
    • options - check/set Arthas global options

    pipe

    -

    pipe is supported in Arthas, e.g. sm org.apache.log4j.Logger | grep <init>

    -

    Commands supported in pipe:

    +

    Arthas provides pipe to process the result returned from commands further, e.g. sm org.apache.log4j.Logger | grep <init>. Commands supported in pipe:

      -
    • grep - filtering
    • +
    • grep - filter the result with the given keyword
    • plaintext - remove the color
    • -
    • wc - line counting
    • +
    • wc - count lines

    async in background

    -

    async will be a great help, when the incident seldom occurs and you are watching it.

    +

    async can be handy when a problem is hardly to reproduce in the production enviornment, e.g. one watch condition may happen only once in one single day.

      +
    • job control - use > to redirect result into the log file, use & to put the job to the background. Job keeps running even if the session is disconnected (the session lifecycle is 1 day by default)
    • jobs - list all jobs
    • kill - forcibly terminate the job
    • -
    • fg - bring the paused job back to the front
    • -
    • bg - put the paused job to the background
    • -
    • tips - a) use > to redirect the output; b) use & to put the job to the background; c) disconnecting the session will not influence the job (the default life is 1 day)
    • +
    • fg - bring the suspend job to the foreground
    • +
    • bg - put the job to run in the background
    -
    -

    Others

    -
    @@ -267,7 +288,7 @@