adb shell atrace --async_start -c -b 20480 -z graphics
1. atraceコマンドの基本機能確認
<strong>atrace --h</strong>
atrace: invalid option -- h
usage: atrace [options] [categories...]
options include:
-a appname 指定したアプリケーションのトレースを開始(カンマ区切りで複数指定可能)
-b N バッファサイズをN KBに設定
-c 円形バッファを使用してトレースを保存
-f filename ファイルに記載されたカテゴリを使用
-k fname,... カーネル関数のトレース対象を指定
-n シグナルを無視
-s N トレース開始までの待機時間をN秒に設定
-t N トレース実行時間をN秒に設定
-z トレースデータを圧縮
--async_start 非同期でトレースを開始
--async_dump 現在のトレースバッファ内容を出力
--async_stop トレース停止後にバッファ内容を出力
--stream バッファにデータが入るたびにストリーム出力
--list_categories
有効なトレースカテゴリ一覧を表示
-o filename トレース結果を指定ファイルに保存
<strong>atrace --list_categories</strong>
<strong>atrace --list_categories</strong>
graphics - グラフィック処理
input - インプットイベント
view - ビュー階層
webview - WebViewモジュール
wm - ウィンドウマネージャ
am - アクティビティマネージャ
sm - 同期マネージャ
audio - 音声処理
video - 動画処理
camera - カメラモジュール
hal - ハードウェア抽象層
res - リソース読み込み
dalvik - Dalvik仮想マシン
rs - RenderScript
bionic - Bionic Cライブラリ
power - パワーマネジメント
pm - パッケージマネージャ
ss - システムサーバ
database - データベースアクセス
network - ネットワーク通信
adb - ADBデバッグ
vibrator - バイブレーション
aidl - AIDLコール
pdx - PDXサービス
sched - CPUスケジューリング
irq - インタラプトイベント
i2c - I2C通信
freq - CPU周波数
idle - CPUアイドル状態
disk - ディスクI/O
mmc - eMMCコマンド
load - CPU負荷
sync - 同期処理
workq - カーネルワークキュー
memreclaim - メモリリカレイン
regulators - 電圧・電流調整
binder_driver - Binderドライバ
binder_lock - Binderグローバルロック
pagecache - ページキャッシュ
1. 通常のトレース取得方法
adb shell "atrace graphics -b 32768 -t 2 | grep com.example.app.MainActivity"
2. ファイル出力時の使用例
adb shell atrace -c -b 16384 --async_start -z graphics input view wm am sched load idle freq
adb shell atrace -c -b 16384 --async_stop -z graphics input view wm am sched load idle freq > /sdcard/trace_data
3. 持続的なトレース実行方法
開始:
adb shell atrace -c -b 16384 --async_start graphics
実行中:
adb shell atrace -c -b 16384 --async_dump graphics
停止:
adb shell atrace -c -b 16384 --async_stop