CI 統合プロファイリング
CI 統合プロファイリングは、ビルドパイプラインから自動でパフォーマンステレメトリを収集し、リグレッションを検出する機能です。
- CI ビルド — ゲームのビルドを作成
- 自動テスト — 事前定義されたシナリオを自動実行
- テレメトリ収集 — SDK がパフォーマンスデータを Framedash に送信
- 比較分析 — 前回のビルドとパフォーマンスを自動比較
- アラート — 閾値を超えるリグレッションが検出されたら通知
セットアップ
Section titled “セットアップ”1. CI 環境での SDK 設定
Section titled “1. CI 環境での SDK 設定”SDK の初期化時に build_id を CI 環境変数から設定します。
TelemetrySDK.Initialize( apiKey: Environment.GetEnvironmentVariable("FRAMEDASH_API_KEY"), buildId: Environment.GetEnvironmentVariable("CI_COMMIT_SHA"));if (auto* Subsystem = GetGameInstance()->GetSubsystem<UFramedashSubsystem>()){ FString ApiKey = FPlatformMisc::GetEnvironmentVariable(TEXT("FRAMEDASH_API_KEY")); FString BuildId = FPlatformMisc::GetEnvironmentVariable(TEXT("CI_COMMIT_SHA")); // EndpointUrl に空文字列を渡してデフォルト値を使用 Subsystem->InitializeTelemetry(ApiKey, TEXT(""), BuildId);}2. テストシナリオの定義
Section titled “2. テストシナリオの定義”各マップ/エリアを巡回するテストシナリオを作成し、一貫したデータを収集します。
3. アラート設定
Section titled “3. アラート設定”ダッシュボードで閾値を設定:
- FPS が前回ビルドから 10% 以上低下
- フレームタイムが 33ms を超過
- メモリ使用量が前回ビルドから 20% 以上増加
- プルリクエストのパフォーマンスチェック — マージ前にリグレッションを検出
- ナイトリービルドの監視 — 毎日のビルドを自動プロファイリング
- リリース前の品質ゲート — パフォーマンス基準を満たさないビルドをブロック
次のステップ
Section titled “次のステップ”- CLI リファレンス — CI パイプラインでの CLI 活用
- ヒートマップ — パフォーマンスの可視化