摘要:目標群體有時候突然一個問題反饋上來,需要入參才能完成定位,但恰恰沒有任何日志。通過指定渲染路徑,并可記錄下路徑中所有方法的入參返值與命令聯動。使用和介紹具體查看
目標群體
有時候突然一個問題反饋上來,需要入參才能完成定位,但恰恰沒有任何日志。回去加上重新部署,一杯咖啡時間過去了,是不是很崩潰?
當你經過反復這樣幾次折騰之后變得聰明了,在自己的代碼的所有入參和出參地方都加上debug日志,但這次問題似乎暴露在別人的代碼中了...是不是很無奈?
突然遇到線上一個性能問題無法確定到底是哪個環節的耗時,只能反復抓jstack猜,還有沒有辦法可以好好的過日子啦?
遇到以上問題時,你就是我們這類工具的目標客戶,此類工具能利用Java6的Instrumentation特性,動態增強你所指定的類,獲取你想要到的信息
內置主要功能查看已被JVM所加載的類、方法信息
方法執行監控
調用量,成功失敗率,響應時間
方法執行數據操作
入參、返回值、異常信息記錄與查看;支持動作回放
性能開銷渲染!
跟蹤指定路徑中的方法調用軌跡、耗時
查看方法調用堆棧
軟件安裝在線安裝(推薦)
curl -sLk http://ompc.oss.aliyuncs.com/greys/install.sh|sh
本地安裝
greys-1.7.6.4-bin.zip-3108.1kB
解壓zip文件后,執行以下命令
cd greys sh ./install-local.sh啟動Greys
目標機器啟動
./ga.sh
./greys.sh[@IP:PORT]
如果不指定IP和PORT,默認是127.0.0.1和3658
命令清單命令 | 說明 |
---|---|
help | 查看命令的幫助文檔,每個命令和參數都有很詳細的說明 |
sc | 查看JVM已加載的類信息 |
sm | 查看已加載的方法信息 |
monitor | 方法執行監控 |
trace | 渲染方法內部調用路徑,并輸出方法路徑上的每個節點上耗時 |
ptrace | 強化版的trace命令。通過指定渲染路徑,并可記錄下路徑中所有方法的入參、返值;與tt命令聯動。 |
watch | 方法執行數據觀測 |
tt | 方法執行數據的時空隧道,記錄下指定方法每次調用的入參和返回信息,并能對這些不同的時間下調用進行觀測 |
stack | 輸出當前方法被調用的調用路徑 |
version | 輸出當前目標Java進程所加載的Greys版本號 |
quit | 退出greys客戶端 |
shutdown | 關閉greys服務端 |
reset | 重置增強類,將被greys增強過的類全部還原 |
session | 查看當前會話 |
jvm | 查看當前JVM的信息 |
sc命令
sc -df *.impl.ApplyImpl
查看PreLoanImpl類信息
sm命令
sm -d .impl.ApplyImpl
查看ApplyImpl所有方法信息
monitor命令
monitor -c 20 *impl.PostLoanImpl monitorAdd
統計周期為20s,統計PostLoanImpl類的monitorAdd方法情況
trace命令
trace cn.fraudmetrix.creditcloud.api.impl.PostLoanImpl monitorAdd
跟蹤PostLoanImpl的monitorAdd方法調用stack并統計調用時間開銷
ptrace命令
ptrace -t cn.fraudmetrix.creditcloud.api.impl.PostLoanImpl monitorAdd
跟蹤PostLoanImpl的monitorAdd方法調用stack中含路徑名為fraudmetrix并統計調用時間開銷
watch命令
watch -bs *.impl.PostLoanImpl monitorAdd "params[0] + " " + params[1]+ " " + returnObj"
查看PostLoanImpl的monitorAdd方法的入參、返回值信息
watch -b *.impl.PostLoanImpl monitorAdd "params[0]" -x 1
查看PostLoanImpl的monitorAdd方法的第一個入參信息,并展開一層顯示
tt命令
Greys使用和介紹具體查看:tt -t -n 3 *PostLoanImpl monitorAdd
記錄3次PostLoanImpl類的monitorAdd方法的執行情況。
https://github.com/oldmanpush...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/66733.html
摘要:注意這個統計也會產生一定的開銷這個接口本身開銷比較大,因此會看到的線程占用一定的百分比,為了降低統計自身的開銷帶來的影響,可以把采樣間隔拉長一些,比如毫秒。 Arthas 能為你做什么? 這個類從哪個 jar 包加載的?為什么會報各種類相關的 Exception? 我改的代碼為什么沒有執行到?難道是我沒 commit?分支搞錯了? 遇到問題無法在預發 debug 一下,難道只能通過加...
摘要:在線調試工具你是否突然一天接到電話線上服務怎么回事,有人反應哦,我先看看啊心想去,真的有問題,竟然沒打是不是傳參傳錯了看不出來了異常信息也沒有這有點難辦啊遇到這樣的一種情況,如果需要發現問題最快且風險最小的解決方式,你會怎么辦遠程,不行,對 Java在線調試工具 你是否突然一天接到電話: Qa :線上xx服務怎么回事,有人反應@#¥#@#¥#You :哦,我先看看啊...心想: 去,真...
摘要:但隨著大數據及人工智能的快速發展,傳統的運維方式及解決方案已不能滿足需求。從海量日志中獲取慢屬于大數據分析范疇。 摘要: AIOps英文全稱是Algorithmic IT Operations,是基于算法的IT運維。AIOps是運維領域上的熱點,然而在滿足業務SLA的前提下,如何提升平臺效率和穩定性及降低資源成本成為AIOps面臨的問題和挑戰。 背景 隨著搜索業務的快速發展,搜索系統...
摘要:摘要阿里云主要分為離線分析和在線分析兩種功能。演講嘉賓簡介勛臣,阿里云內核團隊技術專家,目前阿里云專家系統開發。通過診斷報告定位性能下降原因。 摘要:阿里云CloudDBA主要分為離線分析和在線分析兩種功能。幫助用戶節省成本,定位問題,分析原因并推薦解決方法。CloudDBA可以做到實時診斷,離線診斷和SQL優化。并且通過MySQL的參數調優,檢測參數的不合理或者準備的延遲的情況。 演...
閱讀 2312·2021-11-15 11:38
閱讀 2440·2021-11-15 11:37
閱讀 2543·2021-08-24 10:00
閱讀 2901·2019-08-30 15:56
閱讀 1260·2019-08-30 15:53
閱讀 3695·2019-08-29 18:43
閱讀 2930·2019-08-29 17:01
閱讀 3255·2019-08-29 16:25