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 utility. Array(String).
Примеры
Построение flamegraph на основе профилировщика запросов CPU
Построение flamegraph на основе профилировщика запросов памяти, показывая все выделения
Построение flamegraph на основе профилировщика запросов памяти, показывая выделения, которые не были освобождены в контексте запроса
Построение flamegraph на основе профилировщика запросов памяти, показывая активные выделения в фиксированный момент времени
- 1 - Использование памяти в секунду
- 2 - Найти временную точку с максимальным использованием памяти
- 3 - Зафиксировать активные выделения в фиксированный момент времени
- 4 - Найти освобождения в фиксированный момент времени