dmtracedump
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
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
— Количество вызовов
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-29 UTC.
[null,null,["Последнее обновление: 2025-07-29 UTC."],[],[],null,["# dmtracedump\n\n`dmtracedump` is a tool that generates\ngraphical call-stack diagrams from trace log files. The tool uses the Graphviz\nDot utility to create the graphical output, so you need to install Graphviz\nbefore running `dmtracedump`. If you haven't yet generated trace logs and\nsaved them from your connected device to your local machine, go to\n[Generate trace logs by instrumenting your app](/studio/profile/generate-trace-logs).\n\nThe `dmtracedump` tool generates the call stack data as a tree diagram, where each\nnode represents a method call. It shows call flow (from parent node to child nodes)\nusing arrows. The diagram below shows a sample output of `dmtracedump`.\n\nThe `dmtracedump` tool is provided in the Android SDK Tools package and is\nlocated in \u003cvar translate=\"no\"\u003eandroid-sdk\u003c/var\u003e`/platform-tools/`.\n\nSyntax\n------\n\nThe usage for dmtracedump is: \n\n```\ndmtracedump [-ho] [-s sortable] [-d trace-base-name] [-g outfile] trace-base-name\n```\n\nThe tool then loads trace log data from \u003cvar translate=\"no\"\u003etrace-base-name\u003c/var\u003e`.data` and\n\u003cvar translate=\"no\"\u003etrace-base-name\u003c/var\u003e`.key`.\n\n### Global options\n\n| Global options | Description |\n|----------------|------------------------------------------|\n| `-h` | Turn on HTML output |\n| `-o` | Dump the trace file instead of profiling |\n\n### Commands and command options\n\n| Commands and options | Description |\n|------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `-d `\u003cvar translate=\"no\"\u003etrace-base-name\u003c/var\u003e | Diff with this trace name |\n| `-g `\u003cvar translate=\"no\"\u003eoutfile\u003c/var\u003e | Generate output to \u003cvar translate=\"no\"\u003eoutfile\u003c/var\u003e |\n| `-s `\u003cvar translate=\"no\"\u003esortable\u003c/var\u003e | URL base to the location of the sortable javascript file |\n| `-t `\u003cvar translate=\"no\"\u003epercent\u003c/var\u003e | Minimum threshold for including child nodes in the graph (child's inclusive time as a percentage of parent inclusive time). If this option is not used, the default threshold is 20%. |\n\nOutput\n------\n\n\n**Figure 1.** Screenshot of dmtracedump\n\n\u003cbr /\u003e\n\nFor each node in the graph, `dmtracedump` shows the following\ninformation: \n\n```\nref callname (inc-ms, exc-ms,numcalls)\n```\n\n- \u003cvar translate=\"no\"\u003eref\u003c/var\u003e --- Call reference number, as used in trace logs\n- \u003cvar translate=\"no\"\u003einc-ms\u003c/var\u003e --- Inclusive elapsed time (milliseconds spent in method, including all child methods)\n- \u003cvar translate=\"no\"\u003eexc-ms\u003c/var\u003e --- Exclusive elapsed time (milliseconds spent in method, not including any child methods)\n- \u003cvar translate=\"no\"\u003enumcalls\u003c/var\u003e --- Number of calls"]]