1P by sinav 10시간전 | ★ favorite | 댓글과 토론

Rust 프로젝트의 cargo build 시간이 PR마다 야금야금 늘어나는데 어느 PR이 원인인지 추적하기 번거로워 만들었습니다.
cargo-chronoscope은 cargo의 JSON 이벤트 스트림(--message-format=json-render-diagnostics)을 소비해 모든 빌드를 로컬 SQLite DB에 기록하고, 4가지 방식으로 분석하는 CLI입니다.

4개 서브커맨드

  • record — 빌드 한 번을 그대로 기록
  • watch — 빌드 중 ratatui 기반 TUI 대시보드. 활성 컴파일별 elapsed time, anomaly 분류(평소보다 느림/빠름/정상), CPU·메모리 실시간 표시. (데모 GIF는 README 최상단에 있습니다.)
  • ls — 최근 빌드 목록
  • diff <before> <after> — 두 빌드 간 per-crate 변동량 + critical path 비교

cargo --timings와 다른 점

내장 cargo --timings한 번의 빌드 타임라인. cargo-chronoscope은 빌드 비교와 회귀 감지에 특화 — 과거 빌드들의 평균±2σ를 베이스라인으로 잡고 현재 빌드를 자동 분류합니다.

GitHub Action 통합

- uses: ymw0407/cargo-chronoscope@action-v1  

한 줄로 PR마다 빌드 시간 diff를 sticky 코멘트로 자동 게시합니다. fork PR도 지원 (workflow_run 패턴).

설치

cargo install cargo-chronoscope  

현재 상태

피드백/이슈 환영합니다.