Android Pie でシステム トレースをローカルにキャプチャする方法

systrace は、Android 上で実行されているプロセスからタイミング情報を収集する強力なツールです。 Android Pie でシステム トレースをキャプチャする方法は次のとおりです。

トレースは、開発者がさまざまな変更がシステムに与える影響を理解し、問題の根本原因を特定する手がかりを提供する非常に貴重なツールです。

システムレース は、プロセスからタイミング情報を収集する強力なトレース ツールの 1 つです。 Android デバイス上で実行されます。 システムレース によって広く使用されました Android パフォーマンス チーム Google では、Google Pixel スマートフォンのパフォーマンスを最適化します。 利用した システムレース たとえば、CPU 上のタスク配置に対するカーネル スケジューラの変更の影響を検査し、ジャンクの考えられる原因を特定します。 システムレース CPU スケジューリング、CPU 周波数、ディスク I/O、グラフィックス、バインダー アクティビティなどを含む、さまざまなデータをキャプチャできます。 情報は Google Chrome で分析できるレポートに結合されます。

Android Pie が登場する前は、トレースをキャプチャする唯一の方法は システムレース Android デバイスをコンピュータに接続し、そこから (通常は端末から) systrace を実行するというものでした。 ただし、誰もが常にコンピューターにアクセスしたり、systrace を実行するための知識や自信を持っているわけではありません。

Android Pie のリリースにより、この不便さは、 Traceur パッケージは、生のトレース データをキャプチャするツールです。 Android スマートフォンで直接。 Traceur は、設定アプリの開発者向けオプションの「システム トレース」オプションとして利用でき、Traceur によってデバイス上でキャプチャされた生のトレース データは、後で次の方法で変換できます。 システムレース 分析用に HTML レポートに変換します。

新しい「システム トレース」オプションを使用すると、ユーザーは実際に実行方法を知らなくても、トレースを簡単にキャプチャして開発者と共有できます。 システムレース コンピューター上で。 開発者は、コンピューターを使用せずにトレースをキャプチャし、後で都合の良いときに分析できる機能の恩恵を受けます。 「システム トレース」によって収集される完全な生のトレース データも、システム トレースによって生成される HTML レポートよりもサイズが大幅に小さくなります。

システムレースしたがって、生のトレース データを保存したり、他のユーザーと共有したりするのに適したものになります。

ガイド: システム トレースの収集と分析

まず、Android Pie を実行しているデバイスと Python 2 がインストールされたコンピューターがあることを確認します。 次の手順は、最新の OxygenOS Android Pie ベータ版を実行している OnePlus 6 で実行されました。

  1. 設定アプリで開発者向けオプションを有効にし、「システム トレース」オプションにアクセスします。 開発者向けオプションの「デバッグ」セクション内。
  2. システム トレースを開くと、システム トレースを有効にするためのトグルが表示され、トレース カテゴリとトレースのバッファ サイズをカスタマイズする機能が表示されます。 このデモンストレーションでは、デフォルトのカテゴリが使用されますが、ほとんどの場合はこれで十分です。 「クイック設定タイルを表示」トグルを使用すると、クイック設定からトレースを開始/停止できます。 このガイドではこれを有効にしました。
  3. トレースのキャプチャを開始するには、最近追加された「トレースの記録」クイック設定タイルをタップします。
  4. テスト ケースのトレースが完了したら、通知シェードからトレースを停止できます。
  5. 素晴らしい! 生のトレースが正常にキャプチャされました。 未加工のトレース ファイルを共有するように求める通知が表示されます。 デバイスに保存したり、オンライン ストレージにアップロードしたり、誰かに電子メールで送信したりできるはずです。 あるいは、ADB を使用して、デバイスからコンピュータにトレースを直接プルすることもできます (adb pull /data/local/traces/). トレース ファイルをコンピュータに保存してください。
  6. 生のトレース ファイルには、次のように構成されています。 .ctrace 形式. そのままの形式では解釈できません。 使用できます システムレース 生のトレース ファイルから、より便利でわかりやすいインタラクティブな HTML レポートを生成します。
  7. 最新バージョンを使用します システムレース から カタパルトプロジェクトリポジトリ. ターミナル アプリケーションで、リポジトリのクローンを作成します (git がインストールされていることを確認します)。
    git clone https://github.com/catapult-project/catapult.git
  8. 生のトレース ファイルから HTML レポートを生成するには、次のコマンドを使用します。 システムレース、次のコマンドを入力します。
    python2 catapult/systrace/bin/systrace --from-file=<pathtorawtracefile>
    生のトレース ファイルと同じ名前の HTML ファイルが生成されます。 注: 執筆時点では、systrace は Python 2 のみをサポートしています。
  9. HTML レポートを表示するには、Google Chrome ブラウザを起動し、「chrome://tracing」URL にアクセスします。 HTML レポートは空白で表示されるため、Google Chrome で直接開かないでください。
  10. 「読み込み」をクリックし、ポップアップダイアログからHTMLレポートファイルを開きます。 出来上がり! トレース レポートを検査できるようになりました。

次は何ですか?

トレースをキャプチャして生成できるようになりました。 システムレース レポートでは、レポートに示されたデータの読み方と解釈方法を理解することが重要です。 まずは、「」を読むことをお勧めします。理解 シスレース」を見て、「Android のパフォーマンス: 概要 (Google I/O '17)" そして "シスレース ゲーム用" 見る システムレース 活動中。

これは、もともと XDA 認定開発者としても知られる Josh Choo によって書かれたゲスト投稿です。 陽気な. 投稿は体裁を整えるために軽く編集されました。