flameGraph
Агрегатная функция, которая строит flamegraph, используя список стек-трасс. Выводит массив строк, который можно использовать утилитой flamegraph.pl для отрисовки SVG графика flamegraph.
Синтаксис
Параметры
traces
— стек-трасса. Array(UInt64).size
— размер аллокации для профилирования памяти. (необязательный - по умолчанию1
). UInt64.ptr
— адрес аллокации. (необязательный - по умолчанию0
). UInt64.
примечание
В случае, если ptr != 0
, flameGraph будет отображать аллокации (size > 0) и деалокации (size < 0) с одинаковым размером и ptr.
Отображаются только аллокации, которые не были освобождены. Неотображенные деалокации игнорируются.
Возвращаемое значение
- Массив строк для использования с утилитой flamegraph.pl. Array(String).
Примеры
Построение flamegraph на основе профилировщика CPU запросов
Построение flamegraph на основе профилировщика памяти, показывающего все аллокации
Построение flamegraph на основе профилировщика памяти, показывающего аллокации, которые не были деаллоцированы в контексте запроса
Построение flamegraph на основе профилировщика памяти, показывающего активные аллокации в фиксированный момент времени
- 1 - Использование памяти в секунду
- 2 - Найти момент времени с максимальным использованием памяти
- 3 - Зафиксировать активные аллокации в фиксированный момент времени
- 4 - Найти деалокации в фиксированный момент времени