Читается она не так, как кажется на первый взгляд. По горизонтали не время, а совокупная частота: ширина блока показывает, в скольких снимках встретился этот кадр. По вертикали — глубина вызовов, родитель снизу, потомки сверху. Верхняя кромка — то, где программа реально находилась в момент снятия. Цвет смысла не несёт, он нужен только чтобы блоки различались.
Появилась техника из практической беды: трассировка производительности MySQL оказалась слишком дорогой, и вместо полного трассирования Грегг стал брать выборку стеков.
Скрипты работают поверх
perf, DTrace, SystemTap, eBPF и профилировщиков Windows. Кроме обычного графа по процессору есть графы по памяти, по времени вне процессора, разностные и горячие-холодные.Отдельно стоит запомнить разницу: во флейм-чарте ось X — это действительно время, во флейм-графе — нет.
@prog_tools