欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

arthas?jprofiler做復(fù)雜鏈路的調(diào)用分析

 更新時(shí)間:2022年06月08日 10:34:45   作者:橫云斷嶺  
這篇文章主要為大家介紹了arthas?jprofiler做復(fù)雜鏈路的調(diào)用分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jì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),就非常困難。

比如下圖:

沒(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ù)

更多參數(shù)參見(jiàn):

https://arthas.aliyun.com/doc/profiler.html

https://github.com/jvm-profiling-tools/async-profiler/blob/v1.6/src/arguments.cpp

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

3.3 分析結(jié)果

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

總結(jié)

  • 通過(guò)Arthas profiler命令生成jfr文件;
  • 在本地通過(guò)jprofiler來(lái)分析jfr文件,定位誰(shuí)在調(diào)用我;
  • 運(yùn)用之妙,存乎一心。工具的互相結(jié)合,可以產(chǎn)生奇妙的化學(xué)反應(yīng)。

以上就是arthas jprofiler做復(fù)雜鏈路的調(diào)用分析的詳細(xì)內(nèi)容,更多關(guān)于arthas jprofiler復(fù)雜鏈路調(diào)用的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Struts2 Result 返回JSON對(duì)象詳解

    Struts2 Result 返回JSON對(duì)象詳解

    這篇文章主要講解Struts2返回JSON對(duì)象的兩種方式,講的比較詳細(xì),希望能給大家做一個(gè)參考。
    2016-06-06
  • java日期時(shí)間格式化@JsonFormat與@DateTimeFormat的使用

    java日期時(shí)間格式化@JsonFormat與@DateTimeFormat的使用

    本文主要介紹了java日期時(shí)間格式化@JsonFormat與@DateTimeFormat的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Spring?Boot對(duì)接Oracle數(shù)據(jù)庫(kù)具體流程

    Spring?Boot對(duì)接Oracle數(shù)據(jù)庫(kù)具體流程

    這篇文章主要給大家介紹了關(guān)于Spring?Boot對(duì)接Oracle數(shù)據(jù)庫(kù)的具體流程,本文將介紹如何在Spring Boot中連接Oracle數(shù)據(jù)庫(kù)的基本配置,包括添加依賴、配置數(shù)據(jù)源、配置JPA等,需要的朋友可以參考下
    2023-11-11
  • spring boot實(shí)現(xiàn)驗(yàn)證碼功能

    spring boot實(shí)現(xiàn)驗(yàn)證碼功能

    這篇文章主要為大家詳細(xì)介紹了spring boot實(shí)現(xiàn)驗(yàn)證碼功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • Java的遞歸算法詳解

    Java的遞歸算法詳解

    Java遞歸算法是基于Java語(yǔ)言實(shí)現(xiàn)的遞歸算法。遞歸算法對(duì)解決一大類問(wèn)題很有效,它可以使算法簡(jiǎn)潔和易于理解。接下來(lái)通過(guò)本文給大家介紹Java遞歸算法相關(guān)知識(shí),感興趣的朋友一起學(xué)習(xí)吧
    2021-09-09
  • spring boot中interceptor攔截器未生效的解決

    spring boot中interceptor攔截器未生效的解決

    這篇文章主要介紹了spring boot中interceptor攔截器未生效的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • jenkins中如何集成commander應(yīng)用的完整步驟

    jenkins中如何集成commander應(yīng)用的完整步驟

    jenkins是一個(gè)用java編寫的開(kāi)源的持續(xù)集成工具,在與oracle發(fā)生爭(zhēng)執(zhí)后,項(xiàng)目從hudson項(xiàng)目獨(dú)立出來(lái),下面這篇文章主要給大家介紹了關(guān)于jenkins中如何集成commander應(yīng)用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-05-05
  • Java如何通過(guò)File類方法刪除指定文件夾中的全部文件

    Java如何通過(guò)File類方法刪除指定文件夾中的全部文件

    這篇文章主要給大家介紹了關(guān)于Java如何通過(guò)File類方法刪除指定文件夾中的全部文件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 深入理解Java動(dòng)態(tài)代理與靜態(tài)代理

    深入理解Java動(dòng)態(tài)代理與靜態(tài)代理

    這篇文章主要介紹了深入理解Java動(dòng)態(tài)代理與靜態(tài)代理,靜態(tài)代理,代理類和被代理的類實(shí)現(xiàn)了同樣的接口,代理類同時(shí)持有被代理類的引用,動(dòng)態(tài)代理的根據(jù)實(shí)現(xiàn)方式的不同可以分為JDK動(dòng)態(tài)代理和CGlib動(dòng)態(tài)代理
    2022-06-06
  • Java tomcat手動(dòng)配置servlet詳解

    Java tomcat手動(dòng)配置servlet詳解

    這篇文章主要為大家介紹了tomcat手動(dòng)配置servlet,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-11-11

最新評(píng)論