Tracing Elixir in a Distributed Network
-
Expertise
- Target audience Software Developers and Support Engineers
- Duration 1 day
- Prerequisites
Practical experience of Erlang or Elixir
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, we will show you how to trace Erlang and Elixir programs in a distributed network.
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 also discuss how to incorporate tracing into a development workflow and make tracing safe in production.
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.