cargo-chronoscope - observador de desempenho de build do Cargo (TUI + GitHub Action)
(github.com/ymw0407)Criei isso porque o tempo de cargo build em projetos Rust vai aumentando aos poucos a cada PR, e é trabalhoso rastrear qual PR foi a causa.
O cargo-chronoscope é uma CLI que consome o fluxo de eventos JSON do cargo (--message-format=json-render-diagnostics), registra todos os builds em um banco SQLite local e os analisa de 4 maneiras.
4 subcomandos
record— registra um build exatamente como ele foi executadowatch— dashboard TUI baseado em ratatui durante o build. Mostra o tempo decorrido por compilação ativa, classificação de anomalias (mais lento/mais rápido/normal que o usual) e CPU e memória em tempo real. (O GIF de demonstração está no topo do README.)ls— lista de builds recentesdiff <before> <after>— variação por crate entre dois builds + comparação do caminho crítico
Diferença em relação ao cargo --timings
O cargo --timings nativo mostra a linha do tempo de um único build. O cargo-chronoscope é especializado em comparação entre builds e detecção de regressões — usa a média±2σ dos builds anteriores como linha de base e classifica automaticamente o build atual.
Integração com GitHub Action
- uses: ymw0407/cargo-chronoscope@action-v1
Com uma única linha, publica automaticamente em cada PR um comentário fixo com o diff do tempo de build. Também oferece suporte a PRs de fork (padrão workflow_run).
Instalação
cargo install cargo-chronoscope
Status atual
- v0.1.7, já publicado no crates.io
- Corresponde à trilha de ferramentas externas da meta oficial do Rust para 2025 H2, "Cargo build analysis"
- GitHub: https://github.com/ymw0407/cargo-chronoscope
Feedback/issues são bem-vindos.
Ainda não há comentários.