$30 off During Our Annual Pro Sale. View Details »

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. ERLANG.PL
    new coding perspective
    Demo Day, 3 May 2017

    View Slide

  2. DO YOU KNOW BEAM ?

    View Slide

  3. WHY BEAM

    View Slide

  4. WHY BEAM
    • BEAM benefits relevant today:

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  10. WHAT IS ERLANG.PL

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

  15. HISTORY

    View Slide

  16. HISTORY
    • Proof of concept in Jun 2013

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  20. WORKFLOW

    View Slide

  21. WORKFLOW
    • observe dashboard

    View Slide

  22. WORKFLOW
    • observe dashboard
    • look for trends

    View Slide

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

    message traffic

    has increased

    View Slide

  24. WORKFLOW
    • observe dashboard
    • look for trends
    • observe that

    message traffic

    has increased
    • what is the root cause?

    View Slide

  25. WORKFLOW

    View Slide

  26. WORKFLOW
    if the root cause is external,

    View Slide

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

    traffic from external nodes

    View Slide

  28. WORKFLOW

    View Slide

  29. WORKFLOW
    if the root cause is internal,

    View Slide

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

    between internal processes

    View Slide

  31. WORKFLOW

    View Slide

  32. WORKFLOW
    • view the supervision tree

    View Slide

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

    a lot of internal traffic

    View Slide

  34. WORKFLOW
    • view the supervision tree
    • find the process generating

    a lot of internal traffic
    • get to know its process_info/1

    View Slide

  35. WORKFLOW

    View Slide

  36. WORKFLOW
    • analyse the process' mailbox

    View Slide

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

    View Slide

  38. WORKFLOW
    • analyse the process' mailbox
    • observe the ordering of messages
    inspect how processing a
    message changed the state

    View Slide

  39. WORKFLOW

    View Slide

  40. WORKFLOW
    • inspect a flame graph

    View Slide

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

    View Slide

  42. WORKFLOW
    • inspect a flame graph
    • what keeps it busy?
    • where most of the time is spent?

    View Slide

  43. DESIGN PRINCIPLES

    View Slide

  44. DESIGN PRINCIPLES
    • Intuitive navigation and visualisations

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

  48. WHAT IS AVAILABLE

    View Slide

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

    View Slide

  50. WHAT IS AVAILABLE
    • Dashboard, cluster, message passing and
    supervision tree views already implemented
    • Timeline tracking is work in progress

    View Slide

  51. OPEN SOURCE COMMUNITY
    • React + Elm + UX

    • Supervision Tree

    • Timeline Tracking

    View Slide

  52. ERLANG.PL

    View Slide

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

    View Slide

  54. QUESTIONS ?
    [email protected]

    View Slide