日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java軟件生產監控工具Btrace使用方法詳解

瀏覽:32日期:2022-08-29 16:12:12

Btrace

BTrace是sun公司推出的一款Java 動態、安全追蹤(監控)工具,可以在不用重啟的情況下監控系統運行情況,方便的獲取程序運行時的數據信息,如方法參數、返回值、全局變量和堆棧信息等,并且做到最少的侵入,占用最少的系統資源。

項目地址:Btrace

用戶指南:UserGuide

Btrace使用

在Release頁面里下載最新Zip版,解壓就能用

tar -zxvf btrace-bin-1.3.8.3.tgzexport JAVA_HOME=/opt/taobao/javaexport PATH=$JAVA_HOME/bin:$PATH

./bin/btrace -cp /home/admin/projectname/target/projectname/BOOT-INF/classes 2016 SlowCall.java./bin/btrace -cp /home/admin/projectname/target/projectname.war/WEB-INF/classes:/home/admin/projectname/target/projectname.war/WEB-INF/lib/projectname-1.0-SNAPSHOT.jar 71419 BtraceTest.java > NT12.txt

由于Btrace會把腳本邏輯直接侵入到運行的代碼中,所以在使用上做很多限制:

1、不能創建對象

2、不能使用數組

3、不能拋出或捕獲異常

4、不能使用循環

5、不能使用synchronized關鍵字

6、屬性和方法必須使用static修飾

根據官方聲明,不恰當的使用BTrace可能導致JVM崩潰,如在BTrace腳本使用錯誤的class文件,所以在上生產環境之前,務必在本地充分的驗證腳本的正確性。

Btrace可以做什么?

1、接口性能變慢,分析每個方法的耗時情況;

2、當在Map中插入大量數據,分析其擴容情況;

3、分析哪個方法調用了System.gc(),調用棧如何;

4、執行某個方法拋出異常時,分析運行時參數;

5、....

Btrace第一個例子

package com.metty.rpc.common;import java.util.Random;public class BtraceCase { public static Random random = new Random(); public int size; public static void main(String[] args) throws Exception { new BtraceCase().run(); } public void run() throws Exception { while (true) { add(random.nextInt(10), random.nextInt(10)); } } public int add(int a, int b) throws Exception { Thread.sleep(random.nextInt(10) * 100); return a + b; }}

執行add方法時,對傳入參數、返回值以及執行耗時進行分析,btrace腳本:

Java軟件生產監控工具Btrace使用方法詳解

通過jps命令獲取pid為8454

執行btrace 8454 Debug.java實現對運行代碼的監控,輸出結果如下:

Java軟件生產監控工具Btrace使用方法詳解

可以發現,Btrace可以獲取每次執行add方法時的數據,當然Btrace能做的遠遠不止這些,比如獲取當前jvm堆使用情況、當前線程的執行棧等等。

參數說明

@OnMethod

Btrace使用@OnMethod注解定義需要分析的方法入口

Java軟件生產監控工具Btrace使用方法詳解

在@OnMethod注解中,需要指定class、method以及location等,class表明需要監控的類,method表明需要監控的方法,指定方式如下:

1、使用全限定名:clazz='com.metty.rpc.common.BtraceCase', method='add'

2、使用正則表達式:clazz='/javax.swing..*/', method='/.*/'

3、使用接口:clazz='+com.ctrip.demo.Filter', method='doFilter'

4、使用注解:clazz='@javax.jws.WebService', method=''@javax.jws.WebMethod'

5、如果需要分析構造方法,需要指定method='<init>'

@Location

定義Btrace對方法的攔截位置,通過@Location注解指定,默認為Kind.ENTRY

1、Kind.ENTRY:在進入方法時,調用Btrace腳本

2、Kind.RETURN:方法執行完時,調用Btrace腳本,只有把攔截位置定義為Kind.RETURN,才能獲取方法的返回結果@Return和執行時間@Duration

Java軟件生產監控工具Btrace使用方法詳解

3、Kind.CALL:分析方法中調用其它方法的執行情況,比如在execute方法中,想獲取add方法的執行耗時,必須把where設置成Where.AFTER

Java軟件生產監控工具Btrace使用方法詳解

4、Kind.LINE:通過設置line,可以監控代碼是否執行到指定的位置

Java軟件生產監控工具Btrace使用方法詳解

5、Kind.ERROR, Kind.THROW, Kind.CATCH

用于對某些異常情況的跟蹤,包括異常拋出,異常被捕獲,異常未捕獲被拋出方法之外

如何使用Btrace定位問題1、找出所有耗時超過1ms的過濾器Filter

Java軟件生產監控工具Btrace使用方法詳解

由于@Dutation返回的時間是納秒級別,需要進行轉換,如果定位一個Filter性能變慢,接著使用@Location(Kind.CALL)進行更細粒度的分析。

2、分析哪個方法調用了System.gc(),調用棧如何?

Java軟件生產監控工具Btrace使用方法詳解

通過查看調用棧,可以很清楚的發現哪個類哪個方法調用了System.gc()

3、統計方法的調用次數,且每隔1分鐘打印調用次數

Java軟件生產監控工具Btrace使用方法詳解

Btrace的@OnTimer注解可以實現定時執行腳本中的一個方法

4、方法執行時,查看對象的實例屬性值

Java軟件生產監控工具Btrace使用方法詳解

通過反射機制,可以很方法的得到當前實例的屬性值

總結

Btrace能做的事情太多,但使用之前切記檢查腳本的可行性,一旦Btrace腳本侵入到系統中,只有通過重啟才能恢復。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久精品国产大片免费观看| 欧美不卡视频| 免费精品视频在线| 亚洲精品乱码久久久久久蜜桃麻豆 | 亚洲一区二区日韩| 国产一区导航| 国产色噜噜噜91在线精品| 国产欧美自拍一区| 成人亚洲精品| 91国语精品自产拍| 日韩成人精品一区二区三区| 久久精品国产亚洲aⅴ| 久久精品国产大片免费观看| 美日韩精品视频| 国产精品一国产精品k频道56| 成人午夜网址| 久久高清国产| 激情综合五月| 三级一区在线视频先锋| 久久gogo国模啪啪裸体| 91一区二区三区四区| 丝袜美腿一区二区三区| 美女视频网站久久| 在线亚洲观看| 日韩免费一区| 国产精品视频首页| 亚洲一卡久久| 成年男女免费视频网站不卡| 国产一区二区精品| 国产一区二区三区四区| 亚洲久久在线| 黄色亚洲在线| 麻豆视频在线观看免费网站黄| 亚洲精品成人一区| 在线国产一区| 国产成人免费精品| 欧美日韩一区二区三区四区在线观看 | 免费视频一区二区| 色吊丝一区二区| 成人一二三区| 欧美激情一区| 国产欧美日韩影院| 综合激情网...| 丝袜亚洲另类欧美| 中文日韩在线| 99精品美女| 电影亚洲精品噜噜在线观看| 国产精品久久国产愉拍| 日韩av一区二区在线影视| 美日韩精品视频| 久久亚洲一区| 久久国产精品毛片| 亚洲一区二区三区高清| 欧美日韩国产亚洲一区| 久久精品高清| 免费视频一区二区| 天堂成人免费av电影一区| 美女少妇全过程你懂的久久| 日韩精品免费一区二区三区| 综合日韩av| 久久影院一区二区三区| 精品中文在线| 日韩欧美网址| 伊人成人在线视频| 中文字幕成人| 欧美激情在线精品一区二区三区| 精品网站999| 91精品一区二区三区综合在线爱| av亚洲免费| 在线看片日韩| 美女在线视频一区| 日韩精品免费一区二区在线观看| 亚洲专区在线| 欧美激情一区| 另类小说一区二区三区| 久久高清免费| 国产精品夜夜夜| 国产综合亚洲精品一区二| 久久精品九色| 国产精品久久久久久久久久久久久久久| 亚洲少妇一区| 中文在线不卡| 视频在线观看一区二区三区| 亚洲调教视频在线观看| 国产不卡精品在线| 久久久久观看| 久久中文字幕一区二区三区| 国产精品男女| 国产精品久久久久久av公交车 | 黄色不卡一区| 嫩呦国产一区二区三区av| 蜜桃一区二区三区| 另类综合日韩欧美亚洲| 亚洲精品高潮| 蜜桃tv一区二区三区| sm捆绑调教国产免费网站在线观看| 亚洲美女久久| 久久高清一区| 不卡一区2区| 香蕉成人av| 久久久国产精品入口麻豆| 日本不卡视频在线观看| 99国产精品久久久久久久成人热| 久久久精品五月天| 久久亚洲国产精品尤物| 97久久精品| 国产亚洲一区二区三区啪| 视频一区日韩精品| 亚洲人成精品久久久| 免费在线观看成人| 免费视频最近日韩| 日韩在线网址| 国产精品最新| 免费在线亚洲欧美| 欧美好骚综合网| 国产字幕视频一区二区| 久久免费国产| 婷婷亚洲综合| 国产一区白浆| 中文字幕一区日韩精品| 亚洲欧美在线综合| 国产欧美日韩在线观看视频| 久久99影视| 四虎成人av| 亚洲网站视频| 亚洲三级在线| 国产在线视频欧美一区| 亚洲精品网址| 日本中文字幕不卡| 国产成人精品999在线观看| 日韩视频网站在线观看| 欧美日韩国产高清电影| 亚洲综合色婷婷在线观看| 国产精品久久久久9999高清| 国产精品久久久久久久久久白浆 | 亚洲精品日本| 鲁大师精品99久久久| 欧美日韩精品免费观看视完整| 99riav1国产精品视频| 日韩av成人高清| 日韩精品电影| 亚洲精品高潮| 久久这里只有| 水蜜桃久久夜色精品一区的特点 | 视频一区中文字幕国产| 国产亚洲精品美女久久 | 国产伦久视频在线观看| 亚洲制服少妇| 国产精品一级| 午夜在线精品偷拍| 久久亚洲国产精品尤物| 黄色av日韩| 欧美三级网址| 麻豆精品在线| 日韩国产一二三区| 欧美日韩国产一区精品一区| 高潮一区二区| 日韩一区电影| 91嫩草精品| 亚洲欧美日本国产专区一区| 国产精品大片| 日韩欧美在线精品| 一区三区视频| 欧美日韩一区二区综合| 免费一区二区三区在线视频| 日韩动漫一区| 久久香蕉国产| 精品欧美日韩精品| 日本aⅴ亚洲精品中文乱码 | 国产伦久视频在线观看| 国产精品一区二区三区www| 在线综合视频| 宅男噜噜噜66国产日韩在线观看| 亚洲二区免费| 亚洲天堂黄色| 亚洲大全视频| 免费国产自久久久久三四区久久 | 免费人成精品欧美精品| 国产一区欧美| 午夜一级在线看亚洲| 在线国产精品一区| 日韩国产欧美一区二区三区| 视频一区日韩精品| 国产日产一区| 免费在线成人| 伊人久久在线| 视频福利一区| 香蕉久久久久久久av网站| 伊人久久一区| 精品视频自拍| 一区二区小说| 久久xxxx| 国产精品网址| 91精品推荐| 日韩1区2区3区| 日韩电影二区| 亚洲精品欧美| 美女视频免费精品| 99热精品在线观看| 国产精品一区二区精品视频观看|