🔥 FlamegrapHs! 🔥
adam meghji

Co-Founder & CTO, Universe
Vice President, Ticketmaster
Entrepreneur & hacker.
Passionate about DevOps & APIs
Create an event and sell tickets within minutes
Mobile ticketing with at-the-door payments
flame-whats?!

🔥 flamegraphs! 🔥
Profiling by sampling at a fixed rate.
A stack trace is captured at each moment in time.
Originated in DTrace for kernel / systems profiling
SUPER EASY to add to Ruby / Rails apps!
FLAMEGRAPH ANATOMY 😷
Call stack
Time

flamegraph layers 🍰
Mouseover to reveal that layer's stack trace

🔩 installation 🔨


Happy flamegraph 😌
Reasonably bell-curved, LGTM

SAD FLAMEGRAPH #1 😅
What's that large flat-line?


SAD FLAMEGRAPH #1 😑
CLUE #1 ...

SAD FLAMEGRAPH #1 😢
CLUE #2 ...

SAD FLAMEGRAPH #1 😭
ANSWER: Slow microservice call :)

SAD FLAMEGRAPH #2 😅
What are those spikes?


SAD FLAMEGRAPH #2 😑
CLUE #1 ...

SAD FLAMEGRAPH #2 😢
CLUE #2 ...

SAD FLAMEGRAPH #2 😭
ANSWER: 1+N Query!
1 record has_many N records fetched individually.

REAL EXAMPLE ..

uncached admin request 😫

numerous problems 💀

PROBLEM #1 😰

47.41% time spent! 💩
We're spending a lot of time
counting something in a serializer.

AFTER WE OPTIMIZE .. 😂
Still bad, BUT 2x better! 🍻

QUESTIONS?
🙋🙋🙋
happy hacking! 👊
@AdamMeghji
adam@universe.com
Flamegraphs
By adammeghji
Flamegraphs
- 2,064