プロファイリング

Profiling モジュールは Android 16 で導入され、アプリが Perfetto を使用して、実際に利用中の一般デバイスでプロファイリング データを収集できるようにします。

  • アプリは、Java のヒープダンプ、ヒープ プロファイル、スタック サンプリング、システム トレースのいずれかを使用してプロファイルをリクエストし、リクエストごとに特定の構成を設定することができます。
  • アプリは、特定のイベントのトレースの受信を希望することを登録でき、システムはアプリのためにトレースを開始 / 停止できます。
  • 結果は、リクエストしているプロセスに関連する情報のみを含むように削減されて、アプリがさらに処理できるようアプリのストレージ ディレクトリに送信されます。
  • リクエストにはレート制限が適用され、データの収集は保証されません。

モジュールの境界

  • Profiling Mainline APEX - com.google.android.profiling:
    • Profiling API サーフェス(Java):
      • コードの場所: packages/modules/Profiling/framework
      • プロセス: boot_class_path
    • ProfilingService(Java):
      • コードの場所: packages/modules/Profiling/service
      • プロセス: system_server

パッケージの形式

Profiling モジュールは APEX パッケージ(com.google.android.profiling)としてリリースされています。このモジュールには、次の 2 つの JAR ファイルが含まれています。

  • framework-profiling.jar: 呼び出し元がやり取りする API サーフェスが含まれています。これは bootclasspath の一部です。
  • service-profiling.jar: 新しいシステム サービス ProfilingService が含まれています。システム サーバー プロセスにより読み込まれます。

依存関係

このモジュールには外部依存関係がありません。