DockYard/flame_on
75.6
Strong · 18 September 2026
733
lines of production code
Elixir
primary language
1
measurement over time
What this system is
FlameOn is an Elixir library that provides function tracing and visualization capabilities, integrating with Phoenix LiveView to display flame graphs. It captures execution data via a GenServer-based backend and renders interactive, downloadable SVG visualizations within a LiveDashboard. The system supports targeted node tracing, schema validation for module functions, and environment-specific configuration for development and testing.
Features
Initial implementation of FlameOn.Capture for function tracing
This change introduces the core capture module, adding new files to track and visualize function execution. It includes a GenServer-based server to manage trace state, a stack handler to build call trees, and a mock function generator that supports up to 254 arguments. The system uses ETS for efficient state tracking to mitigate race conditions and integrates with Phoenix LiveView to send update and timeout signals to the UI.
_lib/flame\on/capture · high confidence
Behavioural changes
Add environment-specific configuration files
The application now uses separate configuration files for development, production, and test environments. The test environment is configured to suppress most logger output and sets specific security keys and server settings for the test dashboard endpoint. The main configuration file now dynamically imports these environment-specific files.
config · high confidence
Capture schema validation now supports Elixir modules without explicit prefix
The new \FlameOn.Component.CaptureSchema\ introduces validation logic for capture configurations that automatically handles Elixir module names. Previously, users might have needed to explicitly prefix Elixir modules with \Elixir.\; the updated \maybe\_prepend\_elixir/1\ function now intelligently detects and prepends this prefix for capitalized module names, while leaving Erlang module names (lowercase) unchanged. This simplifies the user experience by allowing standard Elixir module names to be used directly in capture forms, alongside robust RPC-based validation to ensure the specified module and function/arity actually exist on the target node.
_lib/flame\on/component · high confidence
Flame On v1.0.0 Release
This release upgrades the library to version 1.0.0, which includes a major upgrade to Phoenix LiveView v1.0 and updates the required Elixir and Erlang versions. It also widens the \gettext\ dependency to support versions 0.21.x and 1.0.x, and fixes issues with black flame graph blocks in Firefox and LiveDashboard Content Security Policy (CSP) conflicts by adjusting inline styles. The changelog and documentation have been updated to reflect these changes, including new installation instructions for the 1.0 version.
(repo-wide) · high confidence
Flame graph rendering and capture workflow overhaul
The flame graph visualization now uses relative positioning instead of absolute coordinates, ensuring consistent styling across different zoom levels and fixing rendering issues in Firefox. Blocks shorter than 0.1% of the total duration are no longer rendered to improve clarity, and integer durations in tooltips are formatted with commas for readability. The capture workflow has been refactored to support targeting specific nodes via a new \Config\ struct, and the component now supports downloading the graph as an SVG file. Additionally, the internal parser module has been removed in favor of a new capture block structure, and the form validation has been improved with real-time feedback and better error handling.
_lib/flame\on · high confidence
Updated module documentation link
The main module documentation for FlameOn now directs users to the README file for documentation instead of the default placeholder text.
lib · high confidence
Test coverage
Initial test suite for Flame On capture and dashboard components; Removal of doctest invocation in FlameOn tests.
Dependencies
Upgrade to Phoenix LiveView 1.0 and Phoenix 1.7 ecosystem
This release bumps the project to version 1.0.0 and updates the Elixir requirement to \~\> 1.15. The core dependency stack is upgraded to support Phoenix LiveView 1.0, Phoenix 1.7, and Phoenix HTML 4.0, along with Phoenix Live Dashboard 0.9. Additional dependencies such as Ecto, Gettext, and Jason are also updated to their latest compatible versions, and new dev tools like Dialyxir and ExDoc are added to the project configuration.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 76.
Lenses
- Code Health 100
- Architecture 69
- Maturity 76
- Readiness 79
- Security 92
Changes since last survey
- 55 commits — 46 feature/other, 9 fixes
By area
- (root) — 32 commits
- lib/flame_on — 17 commits
- (repo) — 3 commits
- .github/workflows — 1 commit
- assets/images — 1 commit
- config/config.exs — 1 commit
Notable commits
- fix: Fix CI cache keys for push events (#62)
- fix: Fix black flame graph blocks in Firefox (#56)
- fix: Fix flaky test caused by missing meck cleanup in CaptureSchemaTest (#58)
- fix: Fix issue with form validation after running capture (#19)
- fix: Fix issue with form validation after running capture (#19)
- fix: Fix spacing in stack trace while zoomed
- fix: Relax :meck constraint to allow 1.x (fixes OTP 29 compile) (#64)
- fix: fix inline style live_dashboard csp (#52)
- fix: upgrade eflambe to 0.2.3 to fix truncation and not_mocked error
- change: 0.2.0
- change: 0.2.1
- change: Add commas to integer durations (#10)
- change: Add config files and clean up noisy test output (#60)
- change: Add node arguments to CaptureSchema changeset validations, so we can (#23)
- change: Allow targeting a node and honor LV dashboard switcher (#8)
- change: Dependency updates including Phoenix.HTML 4.0 (#42)
- change: Don't render blocks shorter than 0.1% of the top block (#17)
- change: Download graph as SVG (#44)
- change: Engine rewrite (#12)
- change: Increase max arity of traced functions from 4 to 254 (#15)
- …and 35 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
DockYard/flame_on was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 18 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit d812cab357decf884fa029c230c178d2d2217d78 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-5d04157a340d.