2 ポイント 投稿者 sinav 21 일 전 | まだコメントはありません。 | WhatsAppで共有

Rustプロジェクトのcargo build時間がPRごとに少しずつ増えていくものの、どのPRが原因なのか追跡するのが面倒で作りました。
cargo-chronoscopeはcargoのJSONイベントストリーム(--message-format=json-render-diagnostics)を消費し、すべてのビルドをローカルのSQLite DBに記録して、4つの方法で分析するCLIです。

4つのサブコマンド

  • record — ビルド1回分をそのまま記録
  • watch — ビルド中のratatuiベースTUIダッシュボード。アクティブなコンパイルごとのelapsed time、異常分類(通常より遅い/速い/正常)、CPU・メモリのリアルタイム表示。 (デモGIFはREADMEの最上部にあります。
  • ls — 最近のビルド一覧
  • diff <before> <after> — 2つのビルド間のcrateごとの変動量 + critical path比較

cargo --timingsとの違い

組み込みのcargo --timings1回のビルドタイムラインです。cargo-chronoscopeはビルドの比較と回帰検知に特化しており、過去ビルドの平均±2σをベースラインとして現在のビルドを自動分類します。

GitHub Action統合

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

1行でPRごとにビルド時間diffをstickyコメントとして自動投稿します。fork PRにも対応しています(workflow_runパターン)。

インストール

cargo install cargo-chronoscope  

現在の状態

フィードバック/Issue歓迎です。

まだコメントはありません。

まだコメントはありません。