1. 程式人生 > >【開發工具】JAVA效能分析:4、超詳細的JProfiler遙測分析(官方中文版)

【開發工具】JAVA效能分析:4、超詳細的JProfiler遙測分析(官方中文版)

Telemetries——遙測資料

分析的一個方面是監視隨時間的標量測量,例如使用的堆大小。在JProfiler中,這種圖形稱為遙測。通過觀察遙測,您可以更好地瞭解配置檔案,允許您將重要事件與不同測量值相關聯,並且如果發現意外行為,可能會提示您使用JProfiler中的其他檢視進行更深入的分析。

一、Standard telemetries

在JProfiler UI的“VM遙測”部分中,預設記錄了許多遙測。對於互動式會話,它們始終處於啟用狀態,您無需啟動或停止錄製。

為了比較同一時間軸上的多個遙測,概覽顯示了多個小規模遙測,彼此之間具有可配置的行高。單擊遙測標題可啟用完整的遙測檢視。

完整檢視顯示具有當前值的圖例,並且可能具有比概覽中可見的選項更多的選項。例如,“Memory”遙測允許您選擇單個記憶體池。

探測器還發布了遙測技術。這些遙測未包含在“遙測”檢視部分中,但是是相應探測的“遙測”選項卡的一部分。這些遙測的記錄與其父探針的記錄相關聯。

最後,有“跟蹤”遙測資料監視在另一個檢視中選擇的標量值。例如,類跟蹤器檢視允許您選擇一個類並監視其例項計數。此外,每個探針都有一個“跟蹤器”檢視,其中監視選定的熱點或控制物件。

二、Bookmarks

JProfiler維護所有遙測中顯示的書籤列表。在互動式會話中,您可以通過單擊“ 新增書籤”

工具欄按鈕或使用上下文選單中的“在此新增書籤”功能,在當前時間新增書籤

書籤不僅可以手動建立,還可以通過錄制操作自動新增,以指示特定錄製的開始和結束。使用觸發器操作或使用控制器API,您可以以程式設計方式新增書籤。

書籤具有顏色,線條樣式以及在工具提示中顯示的名稱。您可以編輯現有書籤並更改這些屬性。

如果右鍵單擊遙測中的多個書籤太不方便,可以使用選單中的“效能 分析” - >“編輯書籤”操作來獲取書籤列表。這也是您可以將書籤匯出為HTML或CSV的地方。

三、Custom telemetries

有兩種方法可以新增自己的遙測:您可以在JProfiler UI中編寫指令碼以提供數值,也可以選擇數字MBean屬性。

要新增自定義遙測,請單擊“遙測”部分中顯示的“ 配置遙測”工具欄按鈕。在指令碼遙測中,您可以訪問在當前JProfiler會話的類路徑中配置的所有類。如果沒有直接獲得值,請向應用程式新增一個靜態方法,您可以在此指令碼中呼叫該方法。

上面的示例顯示了對平臺MBean的呼叫。使用MBean遙測可以更方便地繪製MBean的標量值。在這裡,MBean瀏覽器允許您選擇合適的屬性。屬性值必須為數字。

您可以將多條遙測線捆綁到一個遙測中。這就是為什麼配置分為兩部分:遙測本身和遙測線。在遙測線路中,您只需編輯資料來源和線路標題,在遙測中您可以配置適用於所有包含線路的單位,比例和堆疊。

在堆疊遙測中,單個遙測線是附加的,並且可以顯示區域圖。比例因子可用於將值轉換為支援的單位。例如,如果資料來源報告kB,則問題是JProfiler中沒有匹配的“kB”單元。如果將比例因子設定為-3,則將值轉換為位元組,並通過選擇“位元組”作為遙測的單位,JProfiler將自動在遙測中顯示相應的聚合單位。

自定義遙測在“遙測”部分的末尾按其配置順序顯示。

開銷考慮因素

乍一看,遙測似乎隨時間線性消耗記憶體。但是,JProfiler會合並較舊的值並使它們逐漸變得更粗粒度,以限制每次遙測所消耗的記憶體總量。

遙測的CPU開銷受限於它們的值僅每秒輪詢一次的事實。對於標準遙測,此資料收集沒有額外的開銷。對於自定義遙測,開銷由底層指令碼或MBean控制。