2 points par sinav 21 일 전 | Aucun commentaire pour le moment. | Partager sur WhatsApp

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 build
  • watch — 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écents
  • diff <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

Retours et issues bienvenus.

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.