dmtracedump
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
O dmtracedump
é uma ferramenta que gera
diagramas gráficos de pilha de chamadas a partir de arquivos de registros de rastreamento. Como a ferramenta usa o utilitário Graphviz
Dot para criar a saída gráfica, é necessário instalar o Graphviz
antes de executar o dmtracedump
. Se você ainda não gerou registros de rastreamento e
os transferiu do seu dispositivo conectado para a máquina local, acesse
Gerar registros de rastreamento com a instrumentação do app.
A ferramenta dmtracedump
gera os dados da pilha de chamadas como um diagrama de árvore, em que cada
nó representa uma chamada de método. Ele mostra o fluxo de chamadas (do nó pai para os nós filhos)
usando setas. O diagrama abaixo mostra um exemplo de saída de dmtracedump
.
O comando dmtracedump
é fornecido no pacote Ferramentas do SDK do Android e está
localizado em android-sdk/platform-tools/
.
Sintaxe
O uso para o dmtracedump é:
dmtracedump [-ho] [-s sortable] [-d trace-base-name] [-g outfile] trace-base-name
Em seguida, a ferramenta carrega dados de registro de rastreamento de trace-base-name.data
e
trace-base-name.key
.
Opções globais
Opções globais |
Descrição |
-h |
Ativa a saída HTML |
-o |
Descarrega o arquivo de rastreamento, em vez de criar um perfil |
Comandos e opções de comando
Comandos e opções |
Descrição |
-d trace-base-name |
Comparação com este nome de rastreamento |
-g outfile |
Gerar saída para outfile |
-s sortable |
URL base para a localização do arquivo javascript classificável |
-t percent |
Limite mínimo para inclusão de nós filhos no gráfico (tempo inclusivo do filho como
porcentagem do tempo inclusivo do pai). Se esta opção não for usada, o limite padrão
será de 20%. |
Saída
Figura 1. Captura de tela do dmtracedump
Para cada nó do gráfico, o dmtracedump
mostra as seguintes
informações:
ref callname (inc-ms, exc-ms,numcalls)
ref
: número de referência da chamada, como usado em registros de rastreamento
inc-ms
: tempo inclusivo decorrido (milissegundos gastos no método,
incluindo todos os métodos filhos)
exc-ms
: tempo exclusivo decorrido (milissegundos gastos no método,
sem incluir os métodos filhos)
numcalls
: número de chamadas
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-27 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 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"]]