Contributor
Kacper Mentel

ETS support for Erlang Lab


Mentors
Michal Slaski
Organization
Beam Community

Erlang Lab (https://github.com/erlanglab) is an Open Source project aimed at analysing the performance of Erlang and Elixir systems. The project provides web-based visualisations of the analysis. It can help developers to better understand their systems, observe the system behaviour and identify weaknesses.

The Erlang Lab project is still developing and lots of its features are missing. The feature I would like to implement is a plugin for ETS (Erlang Term Storage) tables. The OTP team keeps working on the performance of ETS but Erlang and Elixir programmers, especially the newcomers, are prone to make mistakes which can cause e.g. lock contention on an ETS. Although it is possible to trace this kind of problems using Erlang tracing or dedicated profilers it can be difficult and time-consuming.

The plugin I would like to deliver will rely on tracing techniques and the Erlang system introspection API. Information collected in this way will be presented through the web UI. I believe it will enable developers to quickly identify problems and understand them better.