الرسوم البيانية من الأعلى للأسفل والأسفل

تعرض علامة التبويب من الأعلى إلى الأسفل قائمة بالمكالمات التي يؤدي فيها توسيع عقدة طريقة أو دالة إلى عرض العناصر التي تم استدعاؤها. يعرض الشكل 2 رسمًا بيانيًا من الأعلى إلى الأسفل لمخطط الاتصال التالي. يشير كل سهم في الرسم البياني من المتصل إلى المتلقّي.

الشكل 1. مثال على رسم بياني للمكالمات يوضّح الوقت المستغرق في التنفيذ الذاتي والوقت المستغرق في تنفيذ الدوال الفرعية وإجمالي الوقت المستغرق في تنفيذ الدالة D

كما هو موضّح في الشكل 2، يؤدي توسيع العقدة الخاصة بالطريقة A في علامة التبويب من الأعلى إلى الأسفل إلى عرض الطرق التي يتم استدعاؤها، أي الطريقتَين B وD. بعد ذلك، يؤدي توسيع العقدة الخاصة بالطريقة D إلى عرض الطرق التي تستدعيها، مثل الطريقتين B وC. على غرار علامة التبويب الرسم البياني الشعلة، يجمع الرسم البياني الشجري من أعلى إلى أسفل معلومات التتبُّع للطُرق المتطابقة التي تشترك في حزمة استدعاء الدوال البرمجية نفسها. أي أنّ علامة التبويب مخطط اللهب تقدّم تمثيلاً رسوميًا لعلامة التبويب من الأعلى إلى الأسفل.

تقدّم علامة التبويب من الأعلى إلى الأسفل المعلومات التالية للمساعدة في وصف وقت وحدة المعالجة المركزية المستغرَق في كل عملية استدعاء (يتم أيضًا تمثيل الأوقات كنسبة مئوية من إجمالي وقت سلسلة التنفيذ خلال النطاق الزمني المحدّد):

  • الوقت الذاتي: هو الوقت الذي استغرقه استدعاء الطريقة أو الدالة في تنفيذ الرمز الخاص بهما وليس الرمز الخاص بالدوال أو الطرق التي تم استدعاؤها، كما هو موضّح في الشكل 1 للطريقة D.
  • الأطفال: الوقت الذي استغرقه استدعاء الطريقة أو الدالة في تنفيذ الدوال التي تم استدعاؤها وليس الرمز الخاص بها، كما هو موضّح في الشكل 1 للطريقة D.
  • الإجمالي: مجموع وقت الكيان نفسه والعناصر الثانوية للطريقة يمثّل هذا إجمالي الوقت الذي استغرقه التطبيق في تنفيذ مكالمة، كما هو موضّح في الشكل 1 للطريقة D.

الشكل 2. شجرة من الأعلى إلى الأسفل

الشكل 3. شجرة من الأسفل إلى الأعلى للطريقة C من الشكل 5

تعرِض علامة التبويب من الأسفل إلى الأعلى قائمة بالمكالمات التي يؤدي فيها توسيع عقدة دالة أو طريقة إلى عرض المتصلين بها. باستخدام مثال التتبُّع الموضّح في "الشكل 2"، يقدّم "الشكل 3" شجرة من الأسفل إلى الأعلى للطريقة C. يؤدي فتح العقدة الخاصة بالطريقة C في شجرة التنفيذ من الأسفل إلى الأعلى إلى عرض كل من الدوال الفريدة التي تستدعيها، وهما الطريقتان B وD. يُرجى العِلم أنّه على الرغم من أنّ B يستدعي C مرّتين، لا يظهر B إلا مرّة واحدة عند توسيع العقدة الخاصة بالطريقة C في شجرة التنفيذ من الأسفل إلى الأعلى. بعد ذلك، يؤدي توسيع العقدة الخاصة بـ B إلى عرض المتصل بها والطريقتين A وD.

يفيد علامة التبويب من الأسفل إلى الأعلى في ترتيب الطرق أو الدوال حسب تلك التي تستهلك أكبر (أو أقل) وقت لوحدة المعالجة المركزية. يمكنك فحص كل عقدة لتحديد الجهات التي تستغرق أكبر وقت لوحدة المعالجة المركزية في استدعاء هذه الطرق أو الدوال. مقارنةً بالشجرة التنازلية، تكون معلومات التوقيت لكل طريقة أو دالة في الشجرة التصاعدية مرتبطة بالطريقة في أعلى كل شجرة (العقدة العليا). يتم أيضًا تمثيل وقت وحدة المعالجة المركزية كنسبة مئوية من إجمالي وقت سلسلة التعليمات أثناء عملية التسجيل هذه. يساعد الجدول التالي في توضيح كيفية تفسير معلومات التوقيت الخاصة بالعقدة العليا والعقد الفرعية التي تستدعيها.

نفسي الأطفال المجموع
الطريقة أو الدالة في أعلى شجرة التنفيذ من الأسفل إلى الأعلى (العقدة العليا) تمثّل هذه السمة إجمالي الوقت الذي استغرقه تنفيذ الطريقة أو الدالة للتعليمات البرمجية الخاصة بهما، وليس التعليمات البرمجية الخاصة بالدوال التي تم استدعاؤها. مقارنةً بالشجرة التنازلية، تمثّل معلومات التوقيت هذه مجموع كل عمليات استدعاء هذه الطريقة أو الدالة على مدار مدة التسجيل. تمثّل إجمالي الوقت الذي استغرقه تنفيذ الطريقة أو الدالة للدوال التي تم استدعاؤها وليس للتعليمات البرمجية الخاصة بها. مقارنةً بالشجرة من أعلى إلى أسفل، تمثّل معلومات التوقيت هذه مجموع جميع طلبات الاستدعاء إلى هذه الطريقة أو الدوال التي تم استدعاؤها خلال مدة التسجيل. مجموع وقت التنفيذ الذاتي ووقت التنفيذ الثانوي
المتصلون (العُقد الفرعية) تمثّل هذه السمة إجمالي وقت التنفيذ الذاتي للدالة التي يتم استدعاؤها من خلال الدالة المستدعِية. باستخدام شجرة من الأسفل إلى الأعلى في الشكل 6 كمثال، سيكون وقت التنفيذ الذاتي للطريقة B مساويًا لمجموع أوقات التنفيذ الذاتي لكل عملية تنفيذ للطريقة C عند استدعائها بواسطة B. تمثّل هذه السمة إجمالي وقت الأطفال الذي استغرقه المتلقّي عندما استدعاه المتصل. باستخدام شجرة التنفيذ من الأسفل إلى الأعلى في الشكل 6 كمثال، سيكون وقت تنفيذ التوابع الفرعية للطريقة B مساويًا لمجموع أوقات تنفيذ التوابع الفرعية لكل عملية تنفيذ للطريقة C عند استدعائها من خلال B. مجموع وقت التنفيذ الذاتي ووقت التنفيذ الثانوي

ملاحظة: بالنسبة إلى عملية تسجيل معيّنة، يتوقف Android Studio عن جمع بيانات جديدة عندما يصل محلّل الأداء إلى الحد الأقصى لحجم الملف (ولكن هذا لا يوقف عملية التسجيل). يحدث ذلك عادةً بشكل أسرع بكثير عند تنفيذ عمليات تتبُّع مزوَّدة بأدوات، لأنّ هذا النوع من التتبُّع يجمع المزيد من البيانات في وقت أقصر مقارنةً بعملية تتبُّع مستندة إلى عيّنات. في حال تمديد وقت الفحص إلى فترة التسجيل التي حدثت بعد الوصول إلى الحدّ الأقصى، لن تتغيّر بيانات التوقيت في لوحة التتبُّع (لأنّه لا تتوفّر أي بيانات جديدة). بالإضافة إلى ذلك، تعرض لوحة التتبُّع القيمة NaN لمعلومات التوقيت عند اختيار جزء من التسجيل لا تتوفّر فيه بيانات.