A Flame Graph profiler for Erlang that uses the erlang:trace/3 API to visualize call stacks.
eflame is a profiling tool for Erlang that generates Flame Graphs, which are visual representations of call stack data to help identify performance bottlenecks. It leverages Erlang's built-in tracing capabilities to capture stack samples and produces interactive SVG graphs for analysis.
Erlang developers and performance engineers who need to analyze and optimize the performance of their Erlang applications, particularly those dealing with complex concurrency or suspected blocking calls.
Developers choose eflame because it provides straightforward, non-intrusive profiling using Erlang's standard tracing API, requires no code modifications, and offers clear visualizations that highlight blocking calls and process-specific behavior.
Flame Graph profiler for Erlang
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Leverages Erlang's built-in tracing API (erlang:trace/3), enabling performance analysis without code modifications or instrumentation.
Highlights blocking calls in blue within flame graphs, making it straightforward to identify performance bottlenecks in Erlang processes.
Generates separate flame graphs for each traced Erlang process, aiding in concurrency debugging and isolated performance review.
Supports shell scripts and Perl utilities for custom filtering and transformation of stack data, as shown in the README examples with grep and sort commands.
Requires extensive shell and Perl scripting for data transformation, as evidenced by the multi-step examples in the README, which can be cumbersome and error-prone.
Relies on Perl and Unix shell tools for processing, adding setup complexity and potential compatibility issues in non-Unix or minimalist environments.
Focuses only on call stacks and blocking calls, lacking integrated features for memory profiling, I/O analysis, or other performance metrics.