天天看點

JVM :Btrace監控工具1.美圖2.概述3. 使用場景

1.美圖

JVM :Btrace監控工具1.美圖2.概述3. 使用場景

2.概述

在生産環境中經常遇到格式各樣的問題,如OOM或者莫名其妙的程序死掉。一般情況下是通過修改程式,添加列印日志;然後重新釋出程式來完成。然而,這不僅麻煩,而且帶來很多不可控的因素。有沒有一種方式,在不修改原有運作程式的情況下擷取運作時的資料資訊呢?如方法參數、傳回值、全局變量、堆棧資訊等。Btrace就是這樣一個工具,它可以在不修改原有代碼的情況下動态地追蹤java運作程式,通過hotswap技術,動态将跟蹤位元組碼注入到運作類中,對運作代碼侵入較小,對性能上的影響可以忽略不計。

在下列情況時可以使用BTrace進行分析:

  1. 接口性能變慢,分析每個方法的耗時情況;
  2. 當在Map中插入大量資料,分析其擴容情況;
  3. 分析哪個方法調用了System.gc(),調用棧如何;
  4. 執行某個方法抛出異常時,分析運作時參數;

3. 使用場景

  1. 服務慢,能找出慢在哪一步,哪個函數裡麼?
  2. <

繼續閱讀