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.
Software Developers and Support Engineers
Practical experience of Erlang or Elixir
- 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
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
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.