دراميترامب
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
dmtracedump
هي أداة تُنشئ
الرسوم البيانية لحزمة استدعاء الدوال البرمجية من ملفات سجلّ التتبُّع. تستخدم الأداة أداة Graphviz
أداة Dot لإنشاء إخراج رسومي، لذا يجب تثبيت Graphviz
قبل تشغيل dmtracedump
. إذا لم تكن قد أنشأت سجلات تتبُّع بعد
تلك الصور من جهازك المتصل إلى جهازك المحلي، ثم انتقل إلى
إنشاء سجلات التتبُّع من خلال قياس حالة تطبيقك
تنشئ أداة dmtracedump
بيانات تكديس الطلبات كمخطط على شكل شجرة، حيث يظهر كل
تمثل العقدة استدعاء طريقة. يعرض تدفق الاتصال (من العُقدة الرئيسية إلى العُقد الفرعية)
باستخدام الأسهم. يوضّح المخطّط أدناه نموذجًا للناتج dmtracedump
.
يتم توفير أداة dmtracedump
في حزمة أدوات حزمة تطوير البرامج (SDK) لنظام التشغيل Android، وهي
في 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-27 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],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"]]