cargo-chronoscope - Trình quan sát hiệu năng build Cargo (TUI + GitHub Action)
(github.com/ymw0407)Thời gian cargo build của dự án Rust cứ tăng dần theo từng PR, nhưng việc lần ra PR nào là nguyên nhân lại khá phiền, nên tôi đã làm ra công cụ này.
cargo-chronoscope là một CLI tiêu thụ luồng sự kiện JSON của cargo (--message-format=json-render-diagnostics), ghi lại mọi lần build vào cơ sở dữ liệu SQLite cục bộ và phân tích theo 4 cách.
4 subcommand
record— ghi lại nguyên trạng một lần buildwatch— bảng điều khiển TUI dựa trên ratatui trong lúc build. Hiển thị elapsed time theo từng tác vụ biên dịch đang chạy, phân loại anomaly (chậm hơn bình thường/nhanh hơn bình thường/bình thường), cùng CPU và bộ nhớ theo thời gian thực. (GIF demo nằm ở đầu README.)ls— danh sách các lần build gần đâydiff <before> <after>— mức thay đổi theo từng crate giữa hai lần build + so sánh critical path
Điểm khác với cargo --timings
cargo --timings tích hợp sẵn là dòng thời gian của một lần build. cargo-chronoscope được tối ưu cho việc so sánh giữa các lần build và phát hiện hồi quy — lấy trung bình±2σ của các lần build trước làm baseline và tự động phân loại lần build hiện tại.
Tích hợp GitHub Action
- uses: ymw0407/cargo-chronoscope@action-v1
Chỉ với một dòng, công cụ sẽ tự động đăng diff thời gian build cho mỗi PR dưới dạng sticky comment. Hỗ trợ cả PR từ fork (mẫu workflow_run).
Cài đặt
cargo install cargo-chronoscope
Trạng thái hiện tại
- v0.1.7, đã đăng ký trên crates.io
- Thuộc nhánh công cụ bên ngoài của mục tiêu chính thức "Cargo build analysis" H2 2025 của Rust
- GitHub: https://github.com/ymw0407/cargo-chronoscope
Rất hoan nghênh phản hồi/vấn đề được báo cáo.
Chưa có bình luận nào.