arthas命令monitor監控方法執行

arthas是一個 Java開源診斷神器。

今天分享一個很是重要的命令monitor,主要做用是監控Java方法執行的。編程

監控的維度說明

監控項 說明
timestamp 時間戳
class Java類
method 方法(構造方法、普通方法)
total 調用次數
success 成功次數
fail 失敗次數
rt 平均RT
fail-rate 失敗率

這裏面fail的標準是拋出異常,其中rt這個參數比較有意義,能夠查看一下方法調用的耗時狀況,好比不一樣參數場景下的方法耗時,這個統計僅供參考。緣由下面會講。網絡

方法調用比較簡單,只有一個參數-c表示統計週期的,默認是120s。文檔中表示執行只命令會致使JVM運行改方法變慢,這裏我作了實驗,大概會提升50%rt,結束arthas以後恢復原來的性能。dom

arthas命令monitor監控方法執行

代碼

package com.fun;


import com.fun.frame.httpclient.FanLibrary;
import com.fun.utils.Time;

public class AR extends FanLibrary {

    public static void main(String[] args) {

        while (true) {
            sleep(1000);
            long mark = Time.getTimeStamp();
            for (int i = 0; i < 1000; i++) {
                output(DEFAULT_STRING);
            }
            long mark1 = Time.getTimeStamp();
            System.out.println(mark1 - mark);

        }

    }

    static String test() {
        sleep(100);
        return DEFAULT_STRING;
    }

    String fun() {
        sleep(100);
        int randomInt = getRandomInt(2);
        if (randomInt == 1) fail();
        return DEFAULT_STRING;
    }


}

  • 鄭重聲明:「FunTester」首發,歡迎關注交流,禁止第三方轉載。更多原創文章:FunTester原創合集,合做請聯繫Fhaohaizi@163.com

技術類文章精選

無代碼文章精選

相關文章
相關標籤/搜索