2 điểm bởi sinav 20 ngày trước | Chưa có bình luận nào. | Chia sẻ qua WhatsApp

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 build
  • watch — 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 đây
  • diff <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

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.

Chưa có bình luận nào.