dmtracedump
— это инструмент, который генерирует графические диаграммы стека вызовов из файлов журнала трассировки. Инструмент использует утилиту Graphviz Dot для создания графического вывода, поэтому вам необходимо установить Graphviz перед запуском dmtracedump
. Если вы еще не создали журналы трассировки и не сохранили их с подключенного устройства на локальный компьютер, перейдите к разделу Создание журналов трассировки путем инструментирования вашего приложения .
Инструмент 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 .data
и trace-base-name .key
.
Глобальные варианты
Глобальные варианты | Описание |
---|---|
-h | Включить вывод HTML |
-o | Дамп файла трассировки вместо профилирования |
Команды и параметры команд
Команды и параметры | Описание |
---|---|
-d trace-base-name | Разница с этим именем трассировки |
-g outfile | Генерировать вывод в outfile |
-s sortable | База URL-адресов расположения сортируемого файла JavaScript. |
-t percent | Минимальный порог для включения дочерних узлов в граф (время дочернего узла в процентах от времени включения родительского узла). Если этот параметр не используется, пороговое значение по умолчанию составляет 20%. |
Выход
Рисунок 1. Скриншот dmtracedump
Для каждого узла графа dmtracedump
показывает следующую информацию:
ref callname (inc-ms, exc-ms,numcalls)
-
ref
— Номер ссылки на вызов, используемый в журналах трассировки. -
inc-ms
— Включительно затраченное время (миллисекунды, проведенные в методе, включая все дочерние методы) -
exc-ms
— Исключительное затраченное время (миллисекунды, проведенные в методе, не включая дочерние методы) -
numcalls
— Количество вызовов