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