Выбор ответа Junior Производительность и профилирование спрашивают часто обновлено
Как читать flame graph
Вопрос
Что означает ширина прямоугольника функции на flame graph CPU-профиля?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Долю сэмплов, где функция была на стеке. Flame graph агрегирует сэмплы стеков.
Варианты ответа
- Время начала и окончания вызова функции на оси времени
- Число вызовов функции за время профилирования
- Долю сэмплов, где функция была на стекеправильный ответ
- Объём памяти, выделенный функцией и её вызовами
Разбор
Flame graph агрегирует сэмплы стеков. Ширина пропорциональна числу сэмплов, ось X не время: соседние функции отсортированы по алфавиту, и порядок слева направо ничего не значит. Число вызовов сэмплирующий профилировщик не знает. Память показывает другой вид профиля (heap, allocations).
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.