<

Edmond Begumisa

Experienced enterprise Erlanger building scalable medical messaging systems @ Medical-Objects Pty Ltd.

Edmond is polyglot developer who has been designing and implementing enterprise software in Erlang for a decade, and in other languages for longer.

Edmond has worked on software in such diverse fields as accounting, procurement and banking. He is now focused on the health sector working with a wonderful team at Medical-Objects Australia migrating existing, and building new HL7 messaging products using Erlang.

Over the years, he has developed a special interest in finding ways to make enterprise software easier to develop, monitor and maintain by using Erlang processes to declaratively specify and orchestrate domain business processes.

Upcoming Activities

Edmond Begumisa / Roshan Giri
Code BEAM STO

Development and production profiling made easy with flame_prof: A new flamegraph and heatmap lightweight profiler for Erlang

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.