cargo-chronoscope – Cargo-Build-Performance-Observer (TUI + GitHub Action)
(github.com/ymw0407)Die Zeit für cargo build in Rust-Projekten wird mit jedem PR schleichend länger, und ich habe das gebaut, weil es mühsam war nachzuverfolgen, welcher PR die Ursache ist.
cargo-chronoscope ist eine CLI, die den JSON-Event-Stream von cargo (--message-format=json-render-diagnostics) verarbeitet, alle Builds in einer lokalen SQLite-DB aufzeichnet und sie auf vier Arten analysiert.
4 Subcommands
record— zeichnet einen einzelnen Build unverändert aufwatch— ratatui-basiertes TUI-Dashboard während des Builds. Zeigt für jede aktive Kompilierung die elapsed time, die Anomalie-Klassifizierung (langsamer/schneller/normal als üblich) sowie CPU und Speicher in Echtzeit. (Das Demo-GIF befindet sich ganz oben in der README.)ls— Liste der letzten Buildsdiff <before> <after>— Veränderungen pro Crate zwischen zwei Builds + Vergleich des critical path
Unterschied zu cargo --timings
Das eingebaute cargo --timings zeigt die Timeline eines einzelnen Builds. cargo-chronoscope ist auf Vergleiche zwischen Builds und Regressionserkennung spezialisiert — es verwendet den Durchschnitt ±2σ vergangener Builds als Baseline und klassifiziert den aktuellen Build automatisch.
GitHub-Action-Integration
- uses: ymw0407/cargo-chronoscope@action-v1
Mit einer einzigen Zeile wird für jeden PR automatisch ein Sticky-Kommentar mit dem Build-Zeit-diff veröffentlicht. Fork-PRs werden ebenfalls unterstützt (workflow_run-Pattern).
Installation
cargo install cargo-chronoscope
Aktueller Status
- v0.1.7, auf crates.io veröffentlicht
- Entspricht dem Track für externe Tools im offiziellen Rust-Ziel „Cargo build analysis“ für 2025 H2
- GitHub: https://github.com/ymw0407/cargo-chronoscope
Feedback/Issues sind willkommen.
Noch keine Kommentare.