

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

# 火焰圖
<a name="v12-panels-flamegraph"></a>

****  
本文件主題專為支援 Grafana **12.x 版的 Grafana** 工作區而設計。  
如需支援 Grafana 10.x 版的 Grafana 工作區，請參閱[使用 Grafana 第 10 版](using-grafana-v10.md)。  
如需支援 Grafana 9.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 9 版](using-grafana-v9.md)。  
如需支援 Grafana 8.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 8 版](using-grafana-v8.md)。

火焰圖可讓您視覺化分析資料。使用此視覺化，設定檔可以表示為火焰圖、資料表或兩者。

![顯示 Grafana 中火焰圖視覺化範例的影像。](http://docs.aws.amazon.com/zh_tw/grafana/latest/userguide/images/viz/flamegraph-panel-example.png)


## 火焰圖模式
<a name="v12-panels-flamegraph-mode"></a>

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

灰階區段是一組代表相對較小值的函數，基於效能考量，它們會收合成一個區段。

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

**下拉式清單動作**

您可以按一下 函數，以顯示具有其他動作的下拉式功能表：
+ **焦點區塊** – 當您選擇**焦點區塊**、區塊或函數時， 會設定為火焰圖寬度的 100%，且其所有子函數都會顯示，其寬度會相對於父函數的寬度更新。這可讓您更輕鬆地深入探討火焰圖的較小部分。
+ **複製函數名稱** – 當您選擇**複製函數名稱**時，會複製區塊代表的函數全名。
+ **堡壘檢視** – 堡壘檢視可讓您顯示所點選函數的內容。它在頂部顯示所有函數的呼叫者，在底部顯示所有呼叫者。這會顯示函數的彙總內容，因此如果函數存在於火焰圖中的多個位置，則所有內容都會在快照檢視中顯示和彙總。

**狀態列**

 狀態列會顯示有關火焰圖和目前套用修改的中繼資料，例如圖形的哪個部分是焦點，或快照檢視中顯示的函數。按一下狀態列支柱中的 **X** 以移除該修改。

## 工具列
<a name="v12-panels-flamegraph-toolbar"></a>

**搜尋**

您可以使用搜尋欄位來尋找具有特定名稱的函數。火焰圖中符合搜尋的所有函數都會保持彩色，而其餘函數則會呈現灰色。

**顏色結構描述選擇器**

您可以依函數的值或套件名稱切換著色函數，以視覺化方式將來自相同套件的函數繫結在一起。

**文字對齊**

將文字向左或向右對齊，以在不符合區塊時顯示函數名稱更重要的部分。

**視覺化挑選器**

您可以選擇僅顯示火焰圖、僅顯示資料表或同時顯示兩者。

## 頂端資料表模式
<a name="v12-panels-flamegraph-toptablemode"></a>

頂端資料表會以資料表格式顯示設定檔中的函數。資料表有三個資料欄：符號、自我和總計。根據預設，資料表會依自我時間排序，但可以透過按一下欄標頭，依總時間或符號名稱重新排序。如果函數出現在設定檔的多個位置，則每一列代表指定函數的彙總值。

每一列左側也有動作按鈕。第一個按鈕會搜尋函數名稱，而第二個按鈕會顯示函數的潛艇堡檢視。

## Data API (資料 API)
<a name="v12-panels-flamegraph-dataapi"></a>

若要轉譯火焰圖，您必須使用[巢狀集合模型](https://wikipedia.org/wiki/Nested_set_model)格式化資料框架資料。

巢狀集合模型可確保火焰圖的每個項目僅透過其巢狀層級編碼為整數值、其中繼資料，以及其在資料框架中的順序。這表示項目的順序很重要，而且必須正確。排序是火焰圖中項目的深度優先周遊，該周遊會重新建立圖形，而不需要像子系陣列一樣的資料框架中的可變長度值。

必要欄位：


| 欄位名稱 | Type | 說明 | 
| --- | --- | --- | 
| level | number | 項目的巢狀層級。換句話說，此項目與火焰圖的頂端項目之間有多少項目。 | 
| value | number | 項目的絕對或累積值。這會轉換為圖形中項目的寬度。 | 
| label | string | 針對特定項目顯示的標籤。 | 
| self | number | 自我值，通常是項目的累積值減去其直屬子項的累積值總和。 | 