什么情況使用greys
- 沒有記錄入?yún)⒊鰠ⅲ?/li>
- 沒有記錄方法耗時篡腌,只能通過jstack猜垢啼?
greys可以幫你解決這個問題。
安裝方法:
curl -sLk http://ompc.oss.aliyuncs.com/greys/install.sh|sh
加入到$PATH中可方便調(diào)用
連接到greys
greys.sh <PID>[@IP:PORT]
使用help 查看所有的命令
help $command
可以查看具體的命令使用方式
command
sc
查看加載的類:
查看加載的所有的String類
sc -E .*String
查看類的加載路徑和加載器
sc -d org.apache.xerces.xni.XMLString
sm
查看類的方法,功能與上類似像棘。不再贅述蹄梢。
monitor
monitor -c 5 com.alitrip.trade.ttp.EnvListener testFun
|timestamp| class | method |total | success|fail |rt |fail-rate|
| -------- | -----: | :----: |
|時間戳| Java類 | 方法 |調(diào)用次數(shù)|成功次數(shù)|失敗次數(shù)|平均RT|失敗率 |
trace
trace能方便的幫助你定位和發(fā)現(xiàn)因RT高而導(dǎo)致的性能問題缺陷
trace class-pattern method-pattern
[101,101ms]的含義疙筹,101所代表的含義是:當(dāng)前節(jié)點的整體耗時;
101的含義是:當(dāng)前節(jié)點在當(dāng)前步驟的耗時;兩者之間用逗號分割腌歉,單位為毫秒蛙酪。
只能追蹤一層調(diào)用的時間
ptrace
ptrace -t class-pattern method-pattern
參數(shù) | 作用 |
---|---|
[t] | 顯示出所有的入?yún)⒎祷刂?/td> |
剩余的與trace類似
watch
watch命令能方便的讓你觀察到指定方法的調(diào)用情況。
能觀察到的范圍為:
- 返回值
- 拋出異常
- 入?yún)?/li>
watch [-b] class-pattern method-pattern expression
[b]:在方法調(diào)用之前觀察
[e]:在方法拋出異常之后環(huán)節(jié)觀察
[s]:在方法正常返回之后環(huán)節(jié)觀察
[f]:在方法結(jié)束之后(正常返回和異常返回)環(huán)節(jié)觀察
e.g 查看拋出異常方法的入?yún)ⅲ?/p>
watch -f -x 1 com.alitrip.trade.trp.dal.dao.impl.TripTrpApplyDAOImpl getTripTrpApplyList 'params[0]'