Skip to content

feat: 性能予算と診断基盤を追加 (#30) - #42

Merged
ibukani merged 5 commits into
mainfrom
perf-diagnostics-30
Aug 3, 2026
Merged

ibukani merged 5 commits into
mainfrom
perf-diagnostics-30

Conversation

@ibukani

@ibukani ibukani commented Aug 3, 2026 •

Copy link
Copy Markdown
Owner

概要

Issue #30(性能予算と診断基盤)を実装します。

変更内容

  1. 計測イベントとカウンターの共通API (src/core/performance/)

    • 構造化計測イベント(startup / window lifecycle / overlay / worker / data load)
    • ring buffer(上限500件)、counter(増減・set)、機密情報 redaction
    • JSON / Markdown レポート生成、決定的 fixture
  2. 診断情報コピー機能(設定画面の「診断情報」セクション)

    • collect_diagnostics IPC コマンドで収集した情報を Markdown としてコピー
    • APIキー・トークン・メモ本文・予定内容・完全パスは含めない(Rust 側で構造的に除外 + フロントで redaction の二重防御)
  3. Rust 側の計測と診断収集 (src-tauri/src/core/performance.rs)

    • window 作成/表示/非表示/破棄、worker 開始/停止、monitors 検出、起動イベントを記録
    • release ビルドでは計測無効化(MINT_PERFORMANCE_ENABLED でオプトイン)
    • 診断レポート: env / 設定 / 有効feature / ショートカット / window / counters / 保存データ件数 / 直近エラー
  4. 性能シナリオとレポート基盤 (performance/)

    • npm run perf:smoke / perf:desktop / perf:report
    • JSON / Markdown レポート(env + commit SHA を含む)を performance/reports/ に出力
    • ハードバジェット(baselines/budgets.json)超過時は exit 1

検証

  • npm run check:quick PASS(biome 361 files / architecture 314 checks)
  • npm test 541 tests 全パス
  • npm run check:tauri PASS(clippy -D warnings / cargo test 122 passed)
  • npm run check:all 全 PASS
  • npm run perf:report 正常終了、バジェット超過時に exit 1 になることを確認

@ibukani
ibukani merged commit 65acfcd into main Aug 3, 2026
2 checks passed
@ibukani
ibukani deleted the perf-diagnostics-30 branch August 3, 2026 16:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant