Upgrade to Pro — share decks privately, control downloads, hide ads and more …

erlang.pl demo day, 3 May 2017

erlang.pl demo day, 3 May 2017

During the first Erlang Performance Lab Demo Day we present an example workflow of system analysis, which the tool could facilitate.

Michał Ślaski

May 03, 2017
Tweet

More Decks by Michał Ślaski

Other Decks in Programming

Transcript

  1. WHY BEAM • BEAM benefits relevant today: • concise code

    • reliable system • equal latency for all users
  2. WHY BEAM • BEAM benefits relevant today: • concise code

    • reliable system • equal latency for all users • utilisation of multi core CPUs
  3. WHY BEAM • BEAM benefits relevant today: • concise code

    • reliable system • equal latency for all users • utilisation of multi core CPUs • traceability
  4. WHAT IS ERLANG.PL • Tool for the BEAM platform (a.k.a.

    Erlang VM) • Helps with system exploration
  5. WHAT IS ERLANG.PL • Tool for the BEAM platform (a.k.a.

    Erlang VM) • Helps with system exploration • Exploits benefits of traceability
  6. WHAT IS ERLANG.PL • Tool for the BEAM platform (a.k.a.

    Erlang VM) • Helps with system exploration • Exploits benefits of traceability • Aims at facilitating developer's work
  7. HISTORY • Proof of concept in Jun 2013 • Open

    source since Feb 2017 • Presented in Mar 2017 at EEF SF
  8. HISTORY • Proof of concept in Jun 2013 • Open

    source since Feb 2017 • Presented in Mar 2017 at EEF SF • First demo day today
  9. WORKFLOW • observe dashboard • look for trends • observe

    that
 message traffic
 has increased
  10. WORKFLOW • observe dashboard • look for trends • observe

    that
 message traffic
 has increased • what is the root cause?
  11. WORKFLOW if the root cause is internal, we observe increased

    traffic
 between internal processes
  12. WORKFLOW • view the supervision tree • find the process

    generating
 a lot of internal traffic
  13. WORKFLOW • view the supervision tree • find the process

    generating
 a lot of internal traffic • get to know its process_info/1
  14. WORKFLOW • analyse the process' mailbox • observe the ordering

    of messages inspect how processing a message changed the state
  15. WORKFLOW • inspect a flame graph • what keeps it

    busy? • where most of the time is spent?
  16. DESIGN PRINCIPLES • Intuitive navigation and visualisations • Simplify complex

    sets of trace events • Don't worry about production systems
  17. DESIGN PRINCIPLES • Intuitive navigation and visualisations • Simplify complex

    sets of trace events • Don't worry about production systems • Leverage WebGL as much as possible
  18. WHAT IS AVAILABLE • Dashboard, cluster, message passing and supervision

    tree views already implemented • Timeline tracking is work in progress
  19. OPEN SOURCE COMMUNITY • React + Elm + UX
 •

    Supervision Tree
 • Timeline Tracking