Winscope は、アニメーションや遷移の最中および終了後における複数のシステム サービスの状態を記録、リプレイ、分析できるウェブツールです。Winscope は、すべての関連するシステム サービスの状態をトレース ファイルに記録します。トレース ファイルと Winscope UI を使用すると、遷移をリプレイ、ステップ実行、デバッグすることで、画面録画の有無にかかわらず、各アニメーション フレーム向けのこうしたサービスの状態を調べることができます。
サポートされているトレース
Winscope では、システム サービスの状態のさまざまなトレースやシーケンスを収集し、視覚的に表すことができます。これらのトレースは、少ないオーバーヘッドから高度な詳細度まで、特定のユースケースに適合するよう構成できます。次のトレースは Winscope でサポートされています。
- EventLog:
EventLog
を使用してシステム診断イベントの記録を収集します。Winscope では、この情報は CUJ マークの特定および表示にのみ使用されます。 - IME: IMS、IMMS、IME クライアントなどのインプット メソッド エディタ(IME)パイプラインのトレース イベント。
- 入力: 入力イベント パイプラインのさまざまなパートのトレースの入力イベント。
- ProtoLog: クライアント プロセスで実行しているシステム サービスとシステム サービスのコードから、ProtoLog メッセージを収集します。
- 画像録画: トレースとともに画像録画を収集します。
- Shell の推移: 録画ウィンドウとアクティビティ推移システムの詳細。
- SurfaceFlinger: 位置、バッファ、構成などのサーフェス(レイヤ)に関する情報を含む SurfaceFlinger トレースを収集します。
- トランザクション: 構成に
SurfaceControl
を使用した SurfaceFlinger が受信するアトミックな変更のセットをトレースします。 - ViewCapture: システム UI やランチャーなどの ViewCapture をサポートするシステム ウィンドウのすべてのビューのさまざまなプロパティをキャプチャします。
- Window Manager: ウィンドウに関する詳細情報(入力イベント、フォーカス イベント、画面の向き、遷移、アニメーション、ポジショニング、変換など)を含む Window Manager の状態をトレースします。
サポートされているダンプ
Winscope は状態ダンプを収集、表示でき、このダンプはユーザーが定義した特定の瞬間をとらえたデバイスの状態のスナップショットです。デバイスの使用中に継続的に収集され、パフォーマンスに影響をおよぼすことがあるトレースとは異なり、ダンプはユーザーが定義した瞬間にのみ取得され、パフォーマンスと詳細度が侵害されないようにします。これにより、特定の時点でのデバイスの状態を集中的かつ効率的に分析できます。Winscope は次のダンプをサポートしています。
- Window Manager: 1 つの Window Manager の状態をダンプします。
- SurfaceFlinger: 1 つの SurfaceFlinger スナップショットをダンプします。
- スクリーンショット: ダンプとともにスクリーンショットを収集します。
Winscope のビルドと実行に関する情報は、Winscope を実行するをご覧ください。
トレースの収集に関する情報は、トレースをキャプチャするをご覧ください。
Winscope ウェブ UI を使用してトレースを読み込む方法については、トレースを読み込むをご覧ください。
トレースの分析に関する情報は、トレースを分析するをご覧ください。