An Elixir library providing functions for tracing events in the BEAM VM across a cluster of nodes.
Dbg is an Elixir library that provides functions for tracing events in the BEAM virtual machine. It allows developers to monitor function calls, message passing, process spawning, and other runtime events across distributed nodes, helping identify issues and understand system behavior in Elixir applications.
Elixir developers working on complex or distributed applications who need advanced debugging and runtime analysis capabilities beyond basic logging.
Dbg offers a clean Elixir interface to the powerful but low-level tracing capabilities of the BEAM VM, making it easier to perform sophisticated debugging across entire clusters without needing deep Erlang/OTP expertise.
Tracing for Elixir
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides a clean Elixir wrapper around the complex Erlang :dbg module, making advanced tracing more accessible, as noted in the README's philosophy.
Traces a wide range of BEAM events, including function calls, message passing, and garbage collection, detailed in the Key Features section.
Enables tracing across a cluster of BEAM nodes, crucial for debugging distributed Elixir applications, as highlighted in the features.
Compatible with existing Erlang tracing tools, allowing hybrid use, as the README states that :dbg functions work normally with Dbg.
Requires understanding of BEAM VM internals and OTP concepts, making it less approachable for developers without Erlang expertise, despite the wrapper.
Documentation must be built locally with specific commands, lacking readily available online resources, which can slow down onboarding, as indicated in the README.
Tracing adds significant overhead to the system, potentially degrading performance, making it unsuitable for continuous use in production environments.
Primarily aimed at low-level debugging, so it may not address higher-level observability needs like metrics or logs, limiting its utility for general monitoring.