dmtracedump
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
dmtracedump
adalah alat yang menghasilkan
diagram stack panggilan grafis dari file log rekaman aktivitas. Alat ini menggunakan utilitas Graphviz
Dot untuk membuat output grafis, jadi Anda perlu menginstal Graphviz
sebelum menjalankan dmtracedump
. Jika Anda belum membuat log rekaman aktivitas dan
menyimpannya dari perangkat yang terhubung ke komputer lokal, buka
Membuat log rekaman aktivitas dengan menginstrumentasikan aplikasi Anda.
Alat dmtracedump
menghasilkan data stack panggilan sebagai diagram hierarki, dengan setiap
node merepresentasikan panggilan metode. Node menunjukkan alur panggilan (dari node induk ke node turunan)
menggunakan tanda panah. Diagram di bawah menunjukkan contoh output dmtracedump
.
Alat dmtracedump
disediakan dalam paket Android SDK Tools dan
berada di android-sdk/platform-tools/
.
Sintaksis
Penggunaan untuk dmtracedump adalah:
dmtracedump [-ho] [-s sortable] [-d trace-base-name] [-g outfile] trace-base-name
Alat ini kemudian memuat data log rekaman aktivitas dari trace-base-name.data
dan
trace-base-name.key
.
Opsi global
Opsi global |
Deskripsi |
-h |
Mengaktifkan output HTML |
-o |
Menghapus file rekaman aktivitas, bukan file untuk profiling |
Perintah dan opsi perintah
Perintah dan opsi |
Deskripsi |
-d trace-base-name |
Membedakan dengan nama rekaman aktivitas ini |
-g outfile |
Menghasilkan output ke outfile |
-s sortable |
Dasar URL ke lokasi file javascript yang dapat diurutkan |
-t percent |
Ambang batas minimum untuk menyertakan node turunan ke dalam grafik (waktu inklusif turunan sebagai
persentase waktu inklusif induk). Jika opsi ini tidak digunakan, ambang batas defaultnya
adalah 20%. |
Output
Gambar 1. Screenshot dmtracedump
Untuk setiap node dalam grafik, dmtracedump
menunjukkan informasi
berikut:
ref callname (inc-ms, exc-ms,numcalls)
ref
— Nomor referensi panggilan, seperti yang digunakan dalam log rekaman aktivitas
inc-ms
— Waktu berlalu inklusif (milidetik yang dihabiskan dalam metode,
termasuk semua metode turunan)
exc-ms
— Waktu berlalu eksklusif (milidetik yang dihabiskan dalam metode,
tidak termasuk metode turunan)
numcalls
— Jumlah panggilan
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-27 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 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"]]