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