cargo-chronoscope - Observateur des performances de build Cargo (TUI + GitHub Action)
(github.com/ymw0407)J’ai créé cet outil parce que, dans les projets Rust, le temps de cargo build augmente petit à petit à chaque PR, et qu’il est pénible d’identifier quelle PR en est la cause.
cargo-chronoscope est un CLI qui consomme le flux d’événements JSON de cargo (--message-format=json-render-diagnostics), enregistre tous les builds dans une base SQLite locale, puis les analyse de 4 façons.
4 sous-commandes
record— enregistre tel quel un buildwatch— tableau de bord TUI basé sur ratatui pendant le build. Affiche, pour chaque compilation active, le temps écoulé, la classification des anomalies (plus lent/plus rapide/normal que d’habitude), ainsi que l’utilisation CPU et mémoire en temps réel. (La démo GIF se trouve tout en haut du README.)ls— liste des builds récentsdiff <before> <after>— variations par crate entre deux builds + comparaison du chemin critique
Différence avec cargo --timings
Le cargo --timings intégré fournit la chronologie d’un seul build. cargo-chronoscope est spécialisé dans la comparaison entre builds et la détection de régressions — il utilise comme référence la moyenne ±2σ des builds passés et classe automatiquement le build courant.
Intégration GitHub Action
- uses: ymw0407/cargo-chronoscope@action-v1
Une seule ligne suffit pour publier automatiquement, sous forme de commentaire sticky, le diff des temps de build pour chaque PR. Les PR issues de forks sont également prises en charge (motif workflow_run).
Installation
cargo install cargo-chronoscope
État actuel
- v0.1.7, publication sur crates.io terminée
- Correspond à la piste d’outils externes de l’objectif officiel Rust 2025 H2 « Cargo build analysis »
- GitHub: https://github.com/ymw0407/cargo-chronoscope
Retours et issues bienvenus.
Aucun commentaire pour le moment.