Flamegraph and heatmap profiling
TALK LEVEL: INTERMEDIATE / ADVANCED
Profiling Erlang systems is tricky due to their concurrent nature - many things going on at the same time.
We introduce a new open-source low-overhead profiler which samples callstacks and graphically categorises them by process status, reductions, memory and message queue length over time making it easy to identify code where time and memory is being spent.
We illustrate how we used this tool to identify both sequential and concurrency bottlenecks in our Erlang Healthcare HL7 message processing system.
THIS TALK IN THREE WORDS
Profiler
Heatmaps
Flamegraphs
OBJECTIVES
- Show how to effectively use sub-second heatmaps and process status flamegraphs to isolate performance issues during both development and production.
- Illustrate how focusing on locating and eliminating concurrency bottlenecks tends to reap bigger rewards than optimising sequential code.
- Impart why it's critical to profile Erlang systems at different levels of load.
TARGET AUDIENCE
This talk is suitable for intermediate and advanced Erlang developers who are responsible for identifying performance issues and locating their causes.