溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何使用arthas+jprofiler做復(fù)雜鏈路分析

發(fā)布時(shí)間:2021-12-29 13:36:24 來(lái)源:億速云 閱讀:269 作者:柒染 欄目:云計(jì)算

如何使用arthas+jprofiler做復(fù)雜鏈路分析,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

背景

Arthas 是阿里巴巴開(kāi)源的應(yīng)用診斷利器,提供了 profiler 命令,可以生成熱點(diǎn)火焰圖。通過(guò)采樣錄制調(diào)用鏈路來(lái)做性能分析,極大提升了線上排查性能問(wèn)題的效率。

但是有一個(gè)問(wèn)題,當(dāng) async-profiler 全量采樣導(dǎo)出的 svg 文件太大時(shí),想要找到關(guān)鍵的調(diào)用點(diǎn),就非常困難。

比如下圖:

如何使用arthas+jprofiler做復(fù)雜鏈路分析

沒(méi)有辦法做聚合或過(guò)濾,這方面本地的 profiler 工具比如 jprofiler、yourkits 就方便很多,有沒(méi)有辦法將兩者結(jié)合起來(lái)呢?

經(jīng)過(guò)分析發(fā)現(xiàn),async-profiler 支持 jfr (Java Flight Recorder) 格式輸出,jprofiler 也支持打開(kāi) jfr 快照,成了!具體操作步驟如下:

1. arthas 采樣生成 jfr 文件

啟動(dòng) arthas 之后,執(zhí)行以下采樣命令:

profiler start -f /home/admin/yourAppName/target/arthas-output/%t.jfr -d 180

%t 表示當(dāng)前時(shí)間,-d 后面是采樣秒數(shù)。

2. 下載 jfr 到本地

可以用 oss 倒騰,或者 szrz 等其他途徑倒騰到本地。

3. jprofiler 分析

在做性能分析時(shí)我們常常想要找出:是誰(shuí)在調(diào)用我,是誰(shuí)調(diào)用我最多。下面舉例介紹怎么做的。

3.1 打開(kāi)快照

使用 jprofiler 打開(kāi) jfr 文件,選擇 Open a snapshot, 打開(kāi)之后選擇 CPU views。


3.2 反向分析

View -> Find 查找要分析的類和方法,然后選擇 Analyze -> Calculate Backtraces to Selected Method:

如何使用arthas+jprofiler做復(fù)雜鏈路分析

3.3 分析結(jié)果

修改 Summation mode 為 Total times,即可看到這個(gè)方法被哪些上游調(diào)用到,調(diào)用量和占比。

看完上述內(nèi)容,你們掌握如何使用arthas+jprofiler做復(fù)雜鏈路分析的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI