A D3.js plugin for generating interactive flame graphs from hierarchical profiling data.
d3-flame-graph is a D3.js plugin that generates interactive flame graphs from hierarchical data, typically used for visualizing software profiling information. It helps developers analyze performance by displaying call stacks where the width of each frame represents the time or resources consumed by that function. The plugin provides a customizable and interactive way to explore profiling data directly in the browser.
Developers and performance engineers who need to visualize and analyze profiling data from tools like perf, DTrace, or custom instrumentation. It's particularly useful for those working with D3.js who want to integrate flame graphs into their web-based performance dashboards.
It offers a pure JavaScript, D3-integrated solution for flame graph generation with extensive customization options and interactivity, unlike static SVG generators. Developers choose it for its seamless integration with D3 workflows, rich API for interaction handling, and ability to create dynamic, web-embedded performance visualizations.
A D3.js plugin that produces flame graphs from hierarchical data.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables click-to-zoom and hover tooltips for deep diving into call stacks, as shown in the onClick and onHover API methods for detailed frame inspection.
Offers APIs for colors, labels, and tooltips via methods like setColorMapper and setLabelHandler, allowing tailored visualizations to match specific profiling needs.
Works with hierarchical JSON input and is compatible with tools like the burn CLI for format conversion, making it adaptable to various profiling outputs from perf or DTrace.
Includes an inverted() method for icicle plot visualization, providing a top-down view of call hierarchies for alternative analysis perspectives.
Tightly coupled with D3.js, requiring prior D3 knowledge and setup, which limits usability for teams not already invested in the D3 ecosystem.
Input must be in a specific hierarchical JSON format; converting raw profiling data can be non-trivial and often relies on external tools like burn, adding setup overhead.
Cannot render server-side or in non-Javascript environments, making it unsuitable for static exports or applications requiring headless generation without browser workarounds.