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.

69639a461e92e590acdc1b554934bd8d?s=128

Michał Ślaski

May 03, 2017
Tweet

Transcript

  1. ERLANG.PL new coding perspective Demo Day, 3 May 2017

  2. DO YOU KNOW BEAM ?

  3. WHY BEAM

  4. WHY BEAM • BEAM benefits relevant today:

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

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

    • reliable system
  7. WHY BEAM • BEAM benefits relevant today: • concise code

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

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

    • reliable system • equal latency for all users • utilisation of multi core CPUs • traceability
  10. WHAT IS ERLANG.PL

  11. WHAT IS ERLANG.PL • Tool for the BEAM platform (a.k.a.

    Erlang VM)
  12. WHAT IS ERLANG.PL • Tool for the BEAM platform (a.k.a.

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

    Erlang VM) • Helps with system exploration • Exploits benefits of traceability
  14. 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
  15. HISTORY

  16. HISTORY • Proof of concept in Jun 2013

  17. HISTORY • Proof of concept in Jun 2013 • Open

    source since Feb 2017
  18. HISTORY • Proof of concept in Jun 2013 • Open

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

    source since Feb 2017 • Presented in Mar 2017 at EEF SF • First demo day today
  20. WORKFLOW

  21. WORKFLOW • observe dashboard

  22. WORKFLOW • observe dashboard • look for trends

  23. WORKFLOW • observe dashboard • look for trends • observe

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

    that
 message traffic
 has increased • what is the root cause?
  25. WORKFLOW

  26. WORKFLOW if the root cause is external,

  27. WORKFLOW if the root cause is external, we observe increased


    traffic from external nodes
  28. WORKFLOW

  29. WORKFLOW if the root cause is internal,

  30. WORKFLOW if the root cause is internal, we observe increased

    traffic
 between internal processes
  31. WORKFLOW

  32. WORKFLOW • view the supervision tree

  33. WORKFLOW • view the supervision tree • find the process

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

    generating
 a lot of internal traffic • get to know its process_info/1
  35. WORKFLOW

  36. WORKFLOW • analyse the process' mailbox

  37. WORKFLOW • analyse the process' mailbox • observe the ordering

    of messages
  38. WORKFLOW • analyse the process' mailbox • observe the ordering

    of messages inspect how processing a message changed the state
  39. WORKFLOW

  40. WORKFLOW • inspect a flame graph

  41. WORKFLOW • inspect a flame graph • what keeps it

    busy?
  42. WORKFLOW • inspect a flame graph • what keeps it

    busy? • where most of the time is spent?
  43. DESIGN PRINCIPLES

  44. DESIGN PRINCIPLES • Intuitive navigation and visualisations

  45. DESIGN PRINCIPLES • Intuitive navigation and visualisations • Simplify complex

    sets of trace events
  46. DESIGN PRINCIPLES • Intuitive navigation and visualisations • Simplify complex

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

    sets of trace events • Don't worry about production systems • Leverage WebGL as much as possible
  48. WHAT IS AVAILABLE

  49. WHAT IS AVAILABLE • Dashboard, cluster, message passing and supervision

    tree views already implemented
  50. WHAT IS AVAILABLE • Dashboard, cluster, message passing and supervision

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

    Supervision Tree
 • Timeline Tracking
  52. ERLANG.PL

  53. ERLANG.PL • www.erlang.pl • github.com/erlanglab • twitter @erlanglab

  54. QUESTIONS ? info@erlang.pl