Tracing Elixir in distributed network

Trainers:
Denys Gonchar

Date:
2020-10-05

Venue:

Description:

Live tracing is an extremely powerful, yet underutilised feature of the BEAM. It comes from the requirement to troubleshoot live systems handling millions of requests without affecting performance and throughput.

In his tutorial, Denys Gonchar will show you how to trace Erlang and Elixir programs in a distributed network. Tracing allows us to understand a running system from the perspective of the VM. We will discover how to utilise this feature to x-ray everything from a single node to a distributed application, monitoring processes, message passing, system resources as well as local and exported functions.

We will discuss how to incorporate tracing into a development workflow and make tracing safe in production.

EXPERTISE

Intermediate

TARGET AUDIENCE

Software Developers and Support Engineers

COURSE DURATION

6 hours

PREREQUISITES

Practical experience of Erlang or Elixir

OBJECTIVES

  • Understanding of the low level BEAM trace mechanism
  • Understand how tracing fits into the development flow
  • Learn to use the most popular tracing tools
  • Understand how tracing in a distributed cluster works
  • Understand the basics of sequential tracing

COURSE OUTLINE

The course covers the topics of tracing in the BEAM virtual machine. It is applicable for both Erlang and Elixir as most libraries are the same. The course covers the following tracing libraries:

  • Built-in tracer
  • dbg
  • recon

The course gives practical advice for tracing on a live system let it be a single node or a distributed cluster. We will discuss how tracing can complement logging and monitoring.

Experience level:
Intermediate