flameGraph
スタックトレースのリストを使用してフレームグラフを生成する集約関数です。flamegraph.pl ユーティリティを使ってフレームグラフの SVG をレンダリングする際に利用できる文字列の配列を出力します。
構文
パラメータ
traces— スタックトレース。Array(UInt64)。size— メモリプロファイリング用の割り当てサイズ(オプション。デフォルトは1)。UInt64。ptr— 割り当てアドレス(オプション。デフォルトは0)。UInt64。
注記
ptr != 0 の場合、flameGraph は同じ size と ptr を持つ割り当て(size > 0)と解放(size < 0)を対応付けます。
解放されていない割り当てのみが表示されます。対応付けられない解放は無視されます。
戻り値
- flamegraph.pl ユーティリティで使用する文字列の配列。Array(String)。
使用例
CPU クエリプロファイラに基づくフレームグラフの作成
メモリクエリプロファイラに基づいて、すべてのアロケーションを表示するフレームグラフを作成する
メモリクエリプロファイラを基にフレームグラフを作成し、クエリコンテキスト内で解放されなかったアロケーションを表示する
メモリクエリプロファイラに基づいて flamegraph を生成し、特定時点でのアクティブなアロケーションを可視化する
- 1 - 毎秒のメモリ使用量
- 2 - メモリ使用量が最大となる時刻を特定する
- 3 - 特定時点におけるアクティブなアロケーションを固定する
- 4 - ある時点でのメモリ解放箇所を特定する