Графики пламени могут быть полезны для визуализации результатов работы инструмента профилирования:
http://www.brendangregg.com/flamegraphs.html
https://github.com/brendangregg/FlameGraph
Я помню, как некоторое время назад болтал об этом с
Копия: @alexfrancoeur @thomasneirynck
Я всегда хотел хранилище профилей. Теперь, когда я работаю в Elastic, я подумал, что действительно что-нибудь с этим сделаю. Я начал с нового Beat, который собирает профили pprof : https://github.com/axw/pprofbeat.
(Это мой первый настоящий набег на ES и Beats, поэтому формат данных, вероятно, не очень хорош, но это что-то.)
Меня больше интересует профилирование программ Go, что довольно просто: импортируйте стандартный пакет, и вы можете предоставлять данные профиля CPU и кучи через конечную точку HTTP. Я хочу увидеть:
Я намеревался рассмотреть возможность встраивания веб-интерфейса «pprof» в качестве плагина, хотя я действительно не знаю, с чего начать. Излишне говорить, что чем больше интегрировано, тем лучше.
Несколько снимков экрана веб-интерфейса pprof ниже на случай, если люди о нем не знают - могут послужить источником вдохновения.
Пример графика pprof:
Ппроф пламеграф:
Основные преступники pprof:
Аннотация исходного кода pprof:
Очень интересный подход к визуализации от команды Netflix Perf, Flamescope.
Этот инструмент позволяет легко различать закономерности и переходить в режим просмотра пламени с субсекундной детализацией.
Ось X - время (t) в секундах, ось Y - миллисекундный интервал t. Вектор, который создает цветовую плотность тепловой карты, является количеством событий за это время X-> Y.
Я взял на себя смелость создать новый запрос типа визуализации в эластичных диаграммах https://github.com/elastic/elastic-charts/issues/519, чтобы начать разговор с этой командой и сделать квалифицированную оценку выполнения реализация MVP для APM и что это должно повлечь за собой.
Самый полезный комментарий
Очень интересный подход к визуализации от команды Netflix Perf, Flamescope.
Этот инструмент позволяет легко различать закономерности и переходить в режим просмотра пламени с субсекундной детализацией.
Ось X - время (t) в секундах, ось Y - миллисекундный интервал t. Вектор, который создает цветовую плотность тепловой карты, является количеством событий за это время X-> Y.