Google は、黒人コミュニティに対する人種平等の促進に取り組んでいます。取り組みを見る

システム トレースの概要

短期間のデバイス アクティビティを記録することをシステム トレースといいます。システム トレースは、システム レポートの生成に使用できるトレース ファイルを生成します。このレポートを活用することで、アプリやゲームのパフォーマンスを改善する最適な方法を見つけることができます。

Android プラットフォームには、トレースをキャプチャするために数種類のオプションが用意されています。

  • Android Studio の CPU Profiler
  • System Tracing アプリ
  • Systrace コマンドライン ツール
  • Perfetto コマンドライン ツール

Android Studio の CPU Profiler は、アプリを操作している間、アプリの CPU 使用率とスレッド アクティビティをリアルタイムで検査します。記録されたメソッド トレース、関数トレース、システム トレースの詳細を検査することもできます。

System Tracing アプリは、デバイスのアクティビティをトレース ファイルに保存する Android ツールです。Android 10(API レベル 29)以降を搭載したデバイスでは、トレース ファイルは Perfetto 形式で保存されます(下記参照)。以前のバージョンの Android を搭載したデバイスでは、トレース ファイルは Systrace 形式で保存されます。

Systrace はプラットフォームに用意されている、以前のコマンドライン ツールであり、短期間のデバイス アクティビティを圧縮テキスト ファイルに記録します。このツールは、CPU スケジューラ、ディスク アクティビティ、アプリスレッドなど、Android カーネルのデータを組み合わせたレポートを作成します。

Perfetto は、Android 10 で導入された、プラットフォーム全体の新しいトレースツールです。Android、Linux、Chrome 向けの、より一般的で洗練されたオープンソース トレース プロジェクトです。提供するデータソースは Systrace が提供するもののスーパーセットであり、protobuf でエンコードされたバイナリ ストリームに任意の長さのトレースを記録できます。これらのトレースは Perfetto UI で開くことができます。

Perfetto のトレースビュー画面のキャプチャ

図 1. アプリとの約 20 秒間のインタラクションを示す Perfetto トレースビューのサンプル

Systrace のレポート画面のキャプチャ

図 2. アプリとの 5 秒間のインタラクションを示す Systrace HTML レポートのサンプル

どちらのレポートにも、一定期間を対象に、Android デバイスのシステム プロセスの全体像が表示されます。また、このレポートは、キャプチャしたトレース情報を検査して、UI ジャンクや高電力消費など、検出した問題点をハイライト表示します。

Perfetto と Systrace は相互運用可能です。

  • Perfetto ファイルと Systrace ファイルはどちらも Perfetto UI で開きます。Perfetto UI で以前の Systrace ビューアを使用して Systrace ファイルを開きます(以前の UI の [開く] リンクを使用します)。
  • traceconv ツールを使用して Perfetto トレースを以前の Systrace テキスト形式に変換します。

システム トレースガイド

システム トレースツールの詳細については、次のガイドをご覧ください。

CPU Profiler を使用して CPU アクティビティを検査する
Android Studio でアプリの CPU 使用率とスレッド アクティビティをプロファイリングする方法について説明します。
System Tracing システムアプリ
Android 9(API レベル 28)以降を搭載しているデバイス上で直接システム トレースをキャプチャする方法について説明します。
Systrace コマンドライン リファレンス
Systrace 用のコマンドライン インターフェースに渡すことができるさまざまなオプションやフラグを定義します。
ADB を使用して Perfetto を実行する
perfetto コマンドライン ツールを実行してトレースをキャプチャする方法について説明します。
Perfetto を実行する
perfetto コマンドライン ツールをビルドして実行し、トレースをキャプチャする方法についての外部ドキュメント。
Perfetto UI
Perfetto のウェブベースのトレース ビューアで Perfetto トレースを開き、完全なレポートを表示します。このビューアでは、以前の UI オプションを使用して Systrace トレースを開くこともできます。
Systrace レポートを操作する
一般的なレポートの要素をリスト表示し、レポートを操作するためのキーボード ショートカットを示し、パフォーマンスに関する問題のタイプを識別する方法について説明します。
カスタム イベントを定義する
特定のコード セクションにカスタムラベルを適用して、Systrace または Perfetto での根本原因分析を容易にする方法について説明します。