flamegraph-rs/flamegraph
56.7
Adequate · 29 September 2026
1.2k
lines of production code
Rust
primary language
2
measurements over time
What this system is
cargo-flamegraph is a Rust-based tool that generates flamegraph visualizations for performance profiling. It operates as a Cargo subcommand for analyzing Rust projects and as a standalone binary for profiling arbitrary processes or existing data files. The system abstracts platform-specific profiling backends, utilizing Linux perf and macOS xctrace to collect and visualize execution data.
Features
Initial release of cargo-flamegraph
This entry marks the initial check-in of the cargo-flamegraph project, introducing a Rust-powered flamegraph generator for profiling Rust Cargo projects and arbitrary binaries. The release includes the core application code, dual Apache-2.0 and MIT licensing, a \.gitignore\ file, and a \.rustfmt.toml\ configuration. It also provides comprehensive documentation in \README.md\ covering installation and usage on Linux, macOS, and Windows, along with an example SVG flamegraph visualization.
(repo-wide) · high confidence
Introduce lib.rs with cross-platform profiling backend abstraction
The new src/lib.rs file establishes the core library logic for the tool, defining a Workload enum to support profiling by command, PID, or reading existing perf.data files. It implements platform-specific arch modules: on Linux, it orchestrates perf record and script commands (including sudo handling and progress indicators), while on macOS, it integrates with xctrace for profiling. The library also handles symbol demangling using rustc\_demangle and quick-xml, manages signal hooks for clean shutdown, and provides the foundational infrastructure for generating flamegraphs across supported operating systems.
src · high confidence
Behavioural changes
Split into cargo-flamegraph subcommand and standalone flamegraph binary
The tool is now distributed as two separate binaries in src/bin: \cargo-flamegraph\, which acts as a Cargo subcommand for profiling Rust projects (supporting binaries, tests, benchmarks, and unit tests via specific Cargo flags), and \flamegraph\, a standalone CLI for profiling running processes by PID or analyzing existing perf.data files. This separation allows the standalone binary to handle system-level profiling tasks independently of the Cargo ecosystem, while the Cargo subcommand focuses on building and profiling Rust artifacts.
src/bin · 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
Score
- CAI 57 → 57 (-0.5)
- Rubric changed (rubric-2026.09.10 → rubric-2026.09.18) — scores are not directly comparable.
Lenses
- Code Health 94 → 95 (+0.5)
- Architecture 69 → 69 (+0.0)
- Maturity 47 → 47 (+0.0)
- Readiness 47 → 49 (+1.8)
- Security 95 → 96 (+1.7)
Resolved (3)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- No tests found
New (4)
- Medium vulnerability: RUSTSEC-2026-0285 (Cargo.lock)
- Naming inconsistency and potential duplication of intent. 'Options' is a generic name that could refer to any configuration, while 'FlamegraphOptions' is specific. However, 'FlamegraphOptions' has a method 'into_inferno()' that converts it to 'Options', suggesting 'Options' is the final/compiled configuration state. This creates a confusing two-step configuration pattern (create specific options, then convert to generic options) rather than a single unified configuration type.
- Outdated: clap
- Outdated: clap_complete
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
flamegraph-rs/flamegraph 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 29 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 a19cbc71365008c774fe714ef94aa9d9930e661d — the exact code this score is about.
- Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-5ff527f25b99.