dmtracedump

dmtracedump は、トレースログ ファイルからコールスタックの図を生成するツールです。このツールは Graphviz DOT ユーティリティを使用して図を出力を作成するため、dmtracedump を実行する前に Graphviz をインストールする必要があります。トレースログをまだ生成しておらず、接続したデバイスからローカルマシンに保存していない場合は、アプリをインストルメント化してトレースログを生成するをご覧ください。

dmtracedump ツールは、コールスタック データをツリー図として生成します。ツリー図の各ノードはメソッド呼び出しを表します。また、矢印を使用して、親ノードから子ノードへの呼び出しフローを示します。dmtracedump のサンプル出力を下の図に示します。

dmtracedump ツールは、Android SDK Tools パッケージで提供され、android-sdk/platform-tools/ にあります。

構文

dmtracedump の使用方法は次のとおりです。

dmtracedump [-ho] [-s sortable] [-d trace-base-name] [-g outfile] trace-base-name

この場合、ツールは trace-base-name.datatrace-base-name.key からトレースログ データを読み込みます。

グローバル オプション

グローバル オプション 説明
-h HTML 出力をオンにします。
-o プロファイリングの代わりにトレース ファイルをダンプします。

コマンドおよびコマンド オプション

コマンドおよびオプション 説明
-d trace-base-name 指定トレース名のデータとの差分を返します。
-g outfile outfile に出力を生成します。
-s sortable ソート可能な JavaScript ファイルの場所の URL ベースを指定します。
-t percent グラフに子ノードを含めるかどうかを決定する最小しきい値(親の包括的時間に占める子の包括的時間の割合)。このオプションを使用しない場合、デフォルトしきい値の 20% が使用されます。

出力

図 1. dmtracedump のスクリーンショット

dmtracedump は、グラフ内のノードごとに以下の情報を表示します。

ref callname (inc-ms, exc-ms,numcalls)
  • ref - トレースログ内で使用される呼び出し参照番号
  • inc-ms - 包括的経過時間(すべての子メソッドを含めて、対象メソッドで費やされたミリ秒単位の時間)
  • exc-ms - 排他的経過時間(子メソッドを含まずに、対象メソッドで費やされたミリ秒単位の時間)
  • numcalls - 呼び出しの数