18.4. flamegraphs の解釈
flamegraph 内の各ボックスは、スタック内の異なる機能を表します。y-axis はスタックの深さを示しています。各スタックの一番上のボックスは、実際に CPU 上で実行されていた関数です。その下にあるものは、すべてその関数の呼び出し元です。x-axis は、サンプリングされたコールグラフデータの母集団を示します。
特定の行にあるスタックの子要素は、x-axis に沿って、各関数のサンプル数が多い順に表示されます。x-axis は時間の経過を表すものではありません。ボックスが広いほど、データがサンプリングされていたときに、CPU 上または CPU 上の一部での頻度が高いことを意味します。
手順
これまで表示されていなかった関数の名前を表示し、データをさらに調査するには、フレームグラフ内のボックスをクリックして、その箇所のスタックを拡大します。
フレームグラフのデフォルトの表示に戻るには、Reset Zoom をクリックします。
重要フレームグラフでは、ユーザー空間関数を表すボックスに
Unknownと表示されることがあります。これは関数のバイナリーから一部の情報が取り除かれているためです。実行可能ファイルのdebuginfoパッケージがインストールされている必要があります。また、実行可能ファイルがローカルで開発したアプリケーションである場合は、アプリケーションをデバッグ情報を付きでコンパイルする必要があります。このような場合に関数名またはシンボルを表示するには、GCC の-gオプションを使用してください。