dmtracedump
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
La herramienta dmtracedump
permite generar diagramas gráficos de pila de llamadas a partir de archivos de registro de seguimiento. Como esta crea resultados gráficos con la utilidad Graphviz Dot, debes instalar Graphviz antes de ejecutar dmtracedump
. Si todavía no generaste registros de seguimiento ni los guardaste desde tu dispositivo conectado a tu máquina local, ve a Cómo generar registros de seguimiento mediante la instrumentación de tu app.
La herramienta dmtracedump
genera los datos de la pila de llamadas como un diagrama de árbol, en el que cada nodo representa una llamada de método. Muestra el flujo de llamadas (del nodo principal a los nodos secundarios) con flechas. En el siguiente diagrama, se muestra un ejemplo de resultado de dmtracedump
.
La herramienta dmtracedump
se proporciona en el paquete de herramientas del SDK de Android y se encuentra en android-sdk/platform-tools/
.
Sintaxis
El uso de dmtracedump es el siguiente:
dmtracedump [-ho] [-s sortable] [-d trace-base-name] [-g outfile] trace-base-name
La herramienta luego carga datos de registro de trace-base-name.data
y trace-base-name.key
.
Opciones globales
Opciones globales |
Descripción |
-h |
Activa el resultado HTML. |
-o |
Vuelca el archivo de registro en lugar de generar perfiles. |
Comandos y opciones de comando
Comandos y opciones |
Descripción |
-d trace-base-name |
Difiere con este nombre de registro. |
-g outfile |
Genera un resultado para outfile . |
-s sortable |
Es la URL base para la ubicación del archivo JavaScript que se puede ordenar. |
-t percent |
Es el umbral mínimo para incluir nodos secundarios en el gráfico (tiempo inclusivo del nodo secundario como porcentaje del tiempo inclusivo principal). Si no se utiliza esta opción, el umbral predeterminado es del 20%. |
Resultado
Figura 1: Captura de pantalla de dmtracedump
Para cada nodo del gráfico, dmtracedump
muestra la siguiente información:
ref callname (inc-ms, exc-ms,numcalls)
ref
: Número de referencia de la llamada, como se usa en los registros de seguimiento
inc-ms
: Tiempo transcurrido inclusivo (milisegundos dedicados al método, incluidos todos los métodos secundarios)
exc-ms
: Tiempo transcurrido exclusivo (milisegundos dedicados al método, excluidos todos los métodos secundarios)
numcalls
: Cantidad de llamadas
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-07-27 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-07-27 (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"]]