火焰圖 - Amazon Managed Grafana

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

火焰圖

本文件主題是針對支援 Grafana 10.x 版的 Grafana 工作區所設計。

如需支援 Grafana 9.x 版的 Grafana 工作區,請參閱。在 Grafana 第 9 版中工作

如需支援 Grafana 8.x 版的 Grafana 工作區,請參閱。在 Grafana 第 8 版中工作

火焰圖可讓您視覺化剖析資料。使用此可視化,輪廓可以表示為火焰圖,表格,或兩者兼而有之。

顯示在 Grafana 火焰圖可視化的例子的圖像。

火焰圖模式

火焰圖會利用剖析資料的階層性質。它將資料壓縮成一種格式,可讓您輕鬆查看哪些程式碼路徑耗用最多的系統資源,例如 CPU 時間、配置的物件或測量記憶體時的空間。火焰圖中的每個塊代表堆棧中的函數調用,其寬度表示其值。

灰色部分是一組函數,代表一個相對較小的值,並且出於性能原因,它們被折疊在一起成一個部分。

您可以將游標暫留在特定函數上,以檢視工具提示,該工具提示會顯示有關該函數的其他資料,例如函數的值、總值的百分比,以及具有該函數的樣本數量。

下拉式動作

您可以按一下某個功能以顯示包含其他動作的下拉式功能表:

  • 焦點區塊 — 當您選擇 Focus 區塊時,區塊或函數會設定為火焰圖寬度的 100%,而且其所有子函數都會以相對於父函數寬度更新的寬度顯示其寬度。這使得它更容易向下鑽入火焰圖的較小部分。

  • 複製函數名稱 — 當您選擇複製函數名稱時,會複製區塊所代表之函數的完整名稱。

  • 三明治視圖-三明治視圖允許您顯示單擊功能的上下文。它在頂部顯示所有函數的呼叫者,並在底部顯示所有調用者。這顯示了函數的聚合上下文,因此,如果該函數存在於火焰圖中的多個位置,則所有上下文都將顯示並聚合在三明治視圖中。

狀態列

狀態列會顯示有關火焰圖和目前套用之修改的中繼資料,例如圖表的哪一部分處於焦點狀態或三明治檢視中顯示的函數。按一下狀態列膠囊中的 X 以移除該修改。

工具列

搜尋

您可以使用搜尋欄位來尋找具有特定名稱的函數。火焰圖中與搜索匹配的所有功能將保持彩色,而其餘功能則為灰色。

顏色架構選擇器

您可以根據著色函數的值或套件名稱在著色函數之間切換,以直觀地將相同套件中的函數繫結在一起。

文字對齊

將文字靠左或右對齊,以在不符合圖塊的情況下顯示函數名稱中更重要的部分。

視覺化選擇

您可以選擇只顯示火焰圖、只顯示表格,或同時顯示兩者。

頂部桌面模式

頂部表格以表格格式顯示配置文件中的功能。該表有三列:符號,自我和總計。依預設,表格會依照自我時間排序,但可以按一下欄標題,依總時間或符號名稱重新排序。如果函數出現在設定檔中的多個位置,則每一列代表指定函數的彙總值。

每一列的左側也有動作按鈕。第一個按鈕會搜尋函數名稱,而第二個按鈕則顯示函數的三明治檢視。

Data API (資料 API)

為了呈現火焰圖,您必須使用嵌套集模型格式化數據幀數據。

嵌套集合模型確保火焰圖的每個項目僅通過其嵌套級別編碼為整數值,其元數據,並按其在數據幀中的順序進行編碼。這意味著項目的順序很重要,需要正確。排序是火焰圖中項目的深度優先遍歷,它重新創建圖形,而不需要像在兒童數組中那樣在數據框中的可變長度值。

必填欄位:

欄位名稱 Type 描述
level number 項目的巢狀層級。換句話說,這個項目和火焰圖的頂部項目之間有多少個項目。
value number 項目的絕對值或累積值。這轉換為圖表中項目的寬度。
label string 要顯示的特定項目的標籤。
self number 自我值,通常是項目的累積值減去其直接子系累積值的總和。