cargo-chronoscope - observador del rendimiento de compilación de Cargo (TUI + GitHub Action)
(github.com/ymw0407)Creé esto porque en los proyectos de Rust el tiempo de cargo build va aumentando poco a poco con cada PR y resulta tedioso rastrear cuál PR fue la causa.
cargo-chronoscope es una CLI que consume el flujo de eventos JSON de cargo (--message-format=json-render-diagnostics), registra todas las compilaciones en una base de datos SQLite local y las analiza de 4 maneras.
4 subcomandos
record— registra una compilación tal cualwatch— panel TUI basado en ratatui durante la compilación. Muestra el tiempo transcurrido por compilación activa, la clasificación de anomalías (más lenta/más rápida/normal que lo habitual) y CPU·memoria en tiempo real. (El GIF de demostración está al inicio del README.)ls— lista de compilaciones recientesdiff <before> <after>— cambios por crate entre dos compilaciones + comparación de la ruta crítica
En qué se diferencia de cargo --timings
El cargo --timings integrado muestra la línea de tiempo de una sola compilación. cargo-chronoscope está especializado en comparar entre compilaciones y detectar regresiones: toma como línea base el promedio ±2σ de compilaciones anteriores y clasifica automáticamente la compilación actual.
Integración con GitHub Action
- uses: ymw0407/cargo-chronoscope@action-v1
Con una sola línea, publica automáticamente en cada PR un comentario sticky con el diff del tiempo de compilación. También soporta PRs desde forks (patrón workflow_run).
Instalación
cargo install cargo-chronoscope
Estado actual
- v0.1.7, registro en crates.io completado
- Corresponde a la vía de herramientas externas del objetivo oficial de Rust 2025 H2 "Cargo build analysis"
- GitHub: https://github.com/ymw0407/cargo-chronoscope
Se agradecen comentarios/issues.
Aún no hay comentarios.