Workshop: How to use flamegraphs to find performance problems
summary
Workshop shows how to use Rack Mini Profiler to generate flamegraph visuals, how to read patterns (loops, big horizontal chunks, garbage collection, dependency calls) and how to turn that data into fixes. Example finds a method called 176 times that returns identical results and is sped up by memoizing the result, with before/after flamegraphs and local load tests (ab bench) used to prove impact. New renderer Speedscope renderer and export/import JSON options are demonstrated.
AI-written summary · about
chapters (24)
- 0:00Start
- 1:28Server Costs
- 2:03Why We Need To Profile Applications
- 3:11Tools
- 3:55Common Ruby Profilers
- 5:05Prioritizing Areas To Speed Up
- 14:05Flame Graph Tool
- 15:45Identify the Patterns in a Flame Graph
- 17:17Garbage Collection
- 21:33Worked Example
- 24:22Load Testing
- 29:29Site Reliability
- 31:14Reactive Work
- 36:06Marginal Gains
- 36:50Flame Graphs Detail Section
- 37:11Why Do We Need Flame Graphs
- 40:01Icicle Charts
- 41:29Reading Flame Graphs
- 43:09Differences between Speed Scope and the Old Renderer
- 44:19Left Heavy View
- 44:51Sandwich View
- 45:05Export and Import
- 46:18Recap
- 48:03Stress Testing
related talks
01h 32mBlazing Performance with Flame Graphs
50mVisualizing Performance - The Developers’ Guide to Flame Graphs
01h 03mThe performance loop—A practical guide to profiling and benchmarking
25mAllegro.pl in flames
39mProfiling and Benchmarking 101
44mPanel: Performance... performance
38mExtending the Performance Analyis Toolset
48mFantastic Performance and Where to Find It
