К основному содержимому
#Performance

Visualizing Performance - The Developers’ Guide to Flame Graphs • Brendan Gregg • YOW! 2022

#Performance #Software #SoftwareDevelopment #SystemDesign

Интересный доклад про визуализацию производительности при помощи Flame graphs от Brendan Gregg, который их когда-то и придумал. Помимо этого он придумал еще и USE методологию (utilization, saturation и errors). Конкретно в этом докладе Грегг рассказывает про

  1. Какие существуют реализации flame graphs
  2. Как работают flame graphs для профилирования использования CPU и как он дошел до их изобретения (spoiler: через flame charts)
  3. Какие были проблемы со стеками и символами - тут Грегг делится тем, что пришлось доделывать в gcc, java, jit symbols, чтобы стеки в профилировщике работали правильно
  4. Куда еще можно вкрутить flame graphs для улучшения визуализации - например, page faults, disk i/o requests, tcp events, cpu cache misses, ... А еще чем так хорош eBPF для отслеживания проивзодительности:)

В общем, это полезный доклад, даже если вам не часто приходиться заниматься оптимизацией проивзодительности приложения:)

P.S. А еще у Грегга есть крутая книга "Systems Performance (Addison-Wesley Professional Computing Series) 2nd Edition", но я ее пока не читал:)

#Performance #Software #SoftwareDevelopment #SystemDesign