亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何測量 Spring Web 應用程序中的組件啟動時間?

如何測量 Spring Web 應用程序中的組件啟動時間?

海綿寶寶撒 2022-07-27 19:52:56
如何正確測量按組件分組的 Spring Web 應用程序的啟動時間?理想情況下,我想同時獲取系統信息(例如類加載時間,按包)和組件信息(bean/應用程序加載),以及顯示每個 bean/組件/類/包的加載時間的時間線。Chrome 時間軸是我正在尋找的一個很好的例子。VisualVM/JConsole 分析器顯示方法時間并且不分組任何東西,這使得它們不適合我的想法。
查看完整描述

1 回答

?
慕姐8265434

TA貢獻1813條經驗 獲得超2個贊

目前,我能找到的最佳答案是使用 Brendan Gregg 的Java Flame Graphs帖子中的信息。這并不簡單,但它是一個開始。

以下說明僅適用于 Linux:

  1. 克隆輕量級 java-profiler

    git clone https://github.com/dcapwell/lightweight-java-profiler
  2. 構建它:

    cd lightweight-java-profilermakecd ..
  3. 使用附加-agentpath開關啟動應用程序,然后在完成分析后退出它:

    java -jar -agentpath:lightweight-java-profiler/build-64/liblagent.so /path/to/your-webapp.jar

    traces.txt在此之后,您應該在當前目錄中找到一個名為的文件。

  4. 下載 Brendan Gregg 的 FlameGraph 工具:

    git clone http://github.com/brendangregg/FlameGraph
  5. 執行提供的腳本將跟蹤文件轉換為 SVG 文件:

    cd FlameGraph./stackcollapse-ljp.awk < ../traces.txt | ./flamegraph.pl > ../traces.svg
  6. 在 Firefox 中打開 SVG 文件;X 軸是樣本數(100% 對應于總分析時間),方法調用堆疊在 Y 軸上:

http://img1.sycdn.imooc.com//62e1273300015b6811960494.jpg

查看完整回答
反對 回復 2022-07-27
  • 1 回答
  • 0 關注
  • 197 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號