تسجيل آثار الأنشطة

لبدء تسجيل عملية تتبُّع، اختَر ضبط التسجيل من أي من القائمتين المنسدلتَين أعلى أو أسفل أداة تحليل وحدة المعالجة المركزية (CPU) وانقر على تسجيل.

الشكل 1. يعرض محلّل وحدة المعالجة المركزية (CPU) الحالة ومدته ونوع التسجيل الذي يتم إجراؤه.

تفاعَل مع تطبيقك، ثم انقر على إيقاف عند الانتهاء. يعرض المحلل معلومات التتبع تلقائيًا في جزء التتبع، كما هو موضح في الشكل 2.

الشكل 2. محلّل وحدة المعالجة المركزية (CPU) بعد تسجيل تتبع الطريقة.

  1. النطاق المحدّد: يحدِّد الجزء من الوقت المسجَّل الذي سيتم فحصه في لوحة التتبُّع. عند تسجيل تتبُّع لأول مرة، يختار محلّل وحدة المعالجة المركزية تلقائيًا المدة الكاملة للتسجيل في المخطط الزمني لوحدة المعالجة المركزية (CPU). لفحص بيانات التتبُّع لجزء فقط من النطاق الزمني المسجَّل، اسحب حواف المنطقة المحدّدة.
  2. قسم التفاعل: يعرض تفاعلات المستخدمين وأحداث مراحل نشاط التطبيق على طول المخطط الزمني.
  3. قسم سلاسل المحادثات: يعرض نشاط حالة سلسلة المحادثات (مثل الجري والسكون وغير ذلك) ورسم بياني للمكالمات (أو رسم بياني لحدث تتبُّع في ميزة "تتبُّع النظام") لكل سلسلة محادثات على طول المخطط الزمني.
    • استخدِم اختصارات الماوس ولوحة المفاتيح للتنقّل في المخطط الزمني.
    • انقر مرّتين على اسم سلسلة المحادثات أو اضغط على Enter أثناء اختيار سلسلة محادثات لتوسيع سلسلة المحادثات أو تصغيرها.
    • اختَر سلسلة محادثات للاطّلاع على معلومات إضافية في لوحة "التحليل". اضغط مع الاستمرار على Shift أو Ctrl (مفتاح Command في نظام التشغيل Mac) لاختيار سلاسل محادثات متعددة.
    • اختَر استدعاء طريقة (أو حدث تتبُّع في ميزة "تتبُّع النظام") للاطّلاع على معلومات إضافية في لوحة "التحليل".
  4. لوحة التحليل: تعرض بيانات التتبّع للنطاق الزمني وسلسلة المحادثات أو استدعاء الطريقة التي اخترتها. وفي هذا الجزء، يمكنك اختيار كيفية عرض كل تقرير تتبُّع تسلسل استدعاء الدوال البرمجية (باستخدام علامات تبويب التحليل) وكيفية قياس وقت التنفيذ (باستخدام القائمة المنسدلة لمراجع الوقت).
  5. علامات تبويب لوحة "التحليل": اختَر كيفية عرض تفاصيل التتبُّع. وللحصول على تفاصيل حول كل خيار، راجِع فحص آثار الأنشطة.
  6. قائمة مراجع الوقت: اختَر واحدًا مما يلي لتحديد كيفية قياس معلومات التوقيت لكل مكالمة (تتوفّر هذه الميزة فقط في طرق Java للعيّنة/التتبُّع):
    • وقت ساعة الحائط: تمثل معلومات التوقيت الوقت الفعلي المنقضي.
    • وقت سلسلة المحادثات: تمثل معلومات التوقيت الوقت المنقضي الفعلي مطروحًا منه أي جزء من ذلك الوقت عندما لا تستهلك سلسلة التعليمات موارد وحدة المعالجة المركزية (CPU). في أي مكالمة، يكون وقت سلسلة المحادثات أقل من أو يساوي دائمًا وقت الساعة الحائطية. إنّ استخدام مدة سلسلة المحادثات يمنحك فهمًا أفضل لمقدار الاستخدام الفعلي لوحدة المعالجة المركزية (CPU) لسلسلة المحادثات من خلال طريقة أو وظيفة معيّنة.
  7. الفلتر: تتتبّع الفلاتر البيانات حسب الدالة أو الطريقة أو الفئة أو اسم الحزمة. على سبيل المثال، إذا أردت التعرّف سريعًا على بيانات التتبُّع ذات الصلة بمكالمة معيّنة، اكتب الاسم في حقل البحث. في علامة التبويب Flame chart، يتم إبراز حِزم المكالمات التي تتضمّن مكالمة أو حزمة أو فئة تتطابق مع طلب البحث. في علامتَي التبويب من أعلى لأسفل ومن أسفل إلى أعلى، يتم منح الأولوية لحزم المكالمات هذه على نتائج التتبُّع الأخرى. يمكنك أيضًا تفعيل الخيارات التالية من خلال وضع علامة في المربّع المناسب بجانب حقل البحث:
    • التعبير العادي: لتضمين تعبيرات عادية في بحثك، استخدِم هذا الخيار.
    • مطابقة حالة الأحرف: إذا كان بحثك حساسًا لحالة الأحرف، استخدِم هذا الخيار.
ملاحظة: عند الاطّلاع على المخطط الزمني لـ سلاسل المحادثات، تتوفّر الاختصارات التالية:
  • التكبير: اضغط على W أو مرِّر عجلة الماوس أثناء الضغط مع الاستمرار على Ctrl (Command على نظام التشغيل Mac).
  • التصغير: اضغط على S أو مرِّر عجلة الماوس للخلف أثناء الضغط على Ctrl (مفتاح Command في نظام التشغيل Mac).
  • التحريك لليسار: اضغط على المفتاح A أو اسحب الماوس لليمين أثناء الضغط مع الاستمرار على مفتاح المسافة.
  • التحريك لليمين: اضغط على D أو اسحب الماوس إلى اليسار أثناء الضغط مع الاستمرار على مفتاح المسافة.
  • توسيع سلسلة محادثات أو تصغيرها: انقر مرّتين على اسم سلسلة المحادثات أو اضغط على Enter عند اختيار سلسلة محادثات.

اختَر إعدادات التسجيل.

قبل البدء في تسجيل معلومات التتبع، اختر تهيئة التسجيل المناسبة لمعلومات التحليل التي تريد تسجيلها:

  • نموذج عن طرق Java: تسجّل حِزم الاتصالات في تطبيقك على فترات زمنية متكرّرة أثناء تنفيذ الرموز البرمجية المستندة إلى لغة Java في تطبيقك. يقارن المحلِّل بين مجموعات البيانات التي تم تسجيلها لاستخلاص معلومات التوقيت واستخدام الموارد حول تنفيذ الرموز البرمجية المستندة إلى لغة Java في تطبيقك.

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

  • تتبُّع إجراءات Java: يشير هذا المصطلح إلى أدوات تطبيقك في وقت التشغيل من أجل تسجيل طابع زمني في بداية ونهاية كل استدعاء طريقة. يتم جمع الطوابع الزمنية ومقارنتها لإنشاء بيانات تتبُّع الطُرق، بما في ذلك معلومات التوقيت واستخدام وحدة المعالجة المركزية (CPU).

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

  • نماذج دوال C/C++: تسجّل عيّنات من سلاسل المحادثات الأصلية لتطبيقك. لاستخدام هذه الإعدادات، يجب نشر تطبيقك على جهاز يعمل بنظام التشغيل Android 8.0 (مستوى واجهة برمجة التطبيقات 26) أو إصدار أحدث.

    وداخليًا، تستخدم هذه الإعدادات simpleperf لتتبُّع الرمز الأصلي لتطبيقك. إذا كنت تريد تحديد خيارات إضافية للسمة simpleperf، مثل استخدام عيّنات من وحدات معالجة مركزية للأجهزة أو تحديد مُدد أخذ العينات بدقة عالية، يمكنك استخدام simpleperf من سطر الأوامر.

  • تتبُّع استدعاءات نظام التتبُّع: يلتقط تفاصيل دقيقة تتيح لك فحص كيفية تفاعل تطبيقك مع موارد النظام. ويمكنك فحص التوقيتات والمدد الزمنية الدقيقة لحالات سلسلة المحادثات، وتوضيح نقاط الضعف في وحدة المعالجة المركزية (CPU) على مستوى جميع النوى، وإضافة أحداث تتبُّع مخصّصة لتحليلها. قد تكون هذه المعلومات مهمة عند تحديد المشاكل في الأداء وحلّها. لاستخدام هذه الإعدادات، يجب نشر تطبيقك على جهاز يعمل بالإصدار Android 7.0 (مستوى واجهة برمجة التطبيقات 24) أو إصدار أحدث.

    أثناء استخدام إعداد التتبُّع هذه، يمكنك وضع علامة بصريًا على سلاسل إجراءات الرموز المهمة في المخطط الزمني للمحلِّل من خلال قياس حالة التطبيق. ومن أجل استخدام رمز C/C++ ، يمكنك استخدام واجهة برمجة التطبيقات الأصلية للتتبّع التي توفّرها trace.h. لاستخدام رمز Java، استخدِم الفئة Trace. ولمزيد من المعلومات، يُرجى الاطّلاع على تعديل رمز تطبيقك.

    تم إنشاء إعداد التتبع هذا في systrace. يمكنك استخدام أداة سطر الأوامر systrace لتحديد خيارات غير الخيارات المتوفرة في أداة تحليل وحدة المعالجة المركزية (CPU). ويمكن أن تساعدك البيانات الإضافية على مستوى النظام التي تقدّمها ميزة systrace في فحص عمليات النظام الأصلي وتحديد المشاكل وحلّها في ما يتعلق بالإطارات التي تم إسقاطها أو تأخُّرها.

    على الأجهزة التي تعمل بنظام التشغيل Android 9 (المستوى 28 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث، يمكنك استخدام تطبيق نظام يُسمى System Tracing تسجيل عمليات تتبُّع النظام على الجهاز.

إنشاء إعداد تسجيل أو تعديله أو عرضه

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

لعرض إعدادات ضبط تسجيل حالي، اختره في الجزء الأيمن من مربّع الحوار إعدادات تسجيل وحدة المعالجة المركزية (CPU).

لإنشاء إعدادات تسجيل جديدة، عليك إجراء ما يلي:

  1. انقر على رمز إضافة في أعلى يمين مربّع الحوار. يؤدي هذا إلى إنشاء تهيئة جديدة مع بعض الإعدادات الافتراضية.
  2. أدخِل اسمًا للإعدادات.
  3. اختَر تقنية تتبُّع.
  4. بالنسبة إلى إعدادات التسجيل المستندة إلى عيّنات، حدِّد الفاصل الزمني لأخذ العينات بالميكرو ثانية (ميكرو ثانية). تمثل هذه القيمة الوقت بين كل عينة من حزمة المكالمات في تطبيقك. كلما كانت الفاصل الزمني الذي تحدده أقصر، زادت سرعة الوصول إلى حد حجم الملف للبيانات المسجلة.
  5. حدِّد الحد الأقصى المسموح به لحجم الملف بالميغابايت (MB) للبيانات المسجّلة المكتوبة على الجهاز المتصل. عند إيقاف التسجيل، يحلّل "استوديو Android" هذه البيانات ويعرضها في نافذة المحلِّل. وبالتالي، في حال زيادة الحدّ المسموح به وتسجيل كمية كبيرة من البيانات، يستغرق "استوديو Android" وقتًا أطول لتحليل الملف وقد لا يستجيب.

    ملاحظة: في حال استخدام جهاز متصل يعمل بالإصدار Android 8.0 (المستوى 26 لواجهة برمجة التطبيقات) أو إصدار أحدث، لن يكون هناك حدّ أقصى لحجم ملف بيانات التتبُّع، وسيتم تجاهل هذه القيمة. ومع ذلك، عليك توخّي الحذر بشأن كمية البيانات التي يجمعها الجهاز بعد كل تسجيل، لأنّ "استوديو Android" قد يواجه صعوبة في تحليل ملفات التتبُّع الكبيرة. على سبيل المثال، إذا كنت تسجِّل إما نموذج تتبُّع ذا عينة بفاصل زمني قصير أو تتبُّع أدوات تتبُّع أثناء استدعاء التطبيق للعديد من الطرق في وقت قصير، ستنشئ ملفات تتبُّع كبيرة بسرعة.

  6. لقبول التغييرات ومواصلة إجراء التغييرات على عمليات الضبط الأخرى، انقر على تطبيق. لقبول جميع التغييرات المطبَّقة وإغلاق مربّع الحوار، انقر على حسنًا.

تسجيل نشاط وحدة المعالجة المركزية (CPU) باستخدام Debug API

يمكنك استخدام Debug API لمنح تطبيقك القدرة على بدء تسجيل نشاط وحدة المعالجة المركزية وإيقافه من خلال محلّل وحدة المعالجة المركزية (CPU).

يبدأ محلّل وحدة المعالجة المركزية (CPU) التسجيل عندما يطلب تطبيقك الرمز startMethodTracing(String tracePath)، ويتوقف محلّل وحدة المعالجة المركزية (CPU) عن التسجيل عندما يطلب تطبيقك stopMethodTracing(). أثناء تسجيل نشاط وحدة المعالجة المركزية الذي تم تشغيله باستخدام واجهة برمجة التطبيقات هذه، يعرض محلّل وحدة المعالجة المركزية Debug API على أنه الإعداد النشط للتسجيل في وحدة المعالجة المركزية (CPU).

للتحكّم في تسجيل نشاط وحدة المعالجة المركزية (CPU) من خلال واجهة برمجة التطبيقات Debug API، يمكنك نشر التطبيق المعدَّل على جهاز يعمل بالإصدار Android 8.0 (المستوى 26 من واجهة برمجة التطبيقات) أو بإصدار أحدث. يتوفر التسجيل الذي يتم بدءه من خلال واجهة برمجة التطبيقات في التطبيقات التي يمكن تحليلها، إلا أنّ ملفات التعريف في "استوديو Android" تتطلب تطبيقًا يمكن تصحيح الأخطاء فيه لعرض حالة التسجيل في واجهة المستخدم.

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

نظرًا إلى الحدّ الأقصى لحجم المخزن المؤقت البالغ 8 ميغابايت، تم تصميم طريقة startMethodTracing(String tracePath) في واجهة برمجة التطبيقات Debug لفترات زمنية قصيرة أو للسيناريوهات التي يصعب بدء/إيقاف التسجيل يدويًا. لفترات تسجيل أطول، استخدِم واجهة مستخدم المحلِّل في "استوديو Android".

ولمزيد من المعلومات، يُرجى الاطّلاع على إنشاء سجلات التتبُّع من خلال قياس الأداء في تطبيقك.

تسجيل نشاط وحدة المعالجة المركزية (CPU) أثناء بدء تشغيل التطبيق

لبدء تسجيل نشاط وحدة المعالجة المركزية (CPU) تلقائيًا أثناء بدء تشغيل التطبيق، عليك اتّباع الخطوات التالية:

  1. اختَر تشغيل > تعديل عمليات الضبط.
  2. في علامة التبويب تحديد الملفات التعريفية، ضَع علامة في المربّع بجانب بدء تسجيل تتبُّع الطرق عند بدء التشغيل.
  3. حدد إعداد تسجيل وحدة المعالجة المركزية (CPU) من القائمة.
  4. انقر على تطبيق.
  5. انشر تطبيقك على جهاز يعمل بنظام التشغيل Android 8.0 (المستوى 26 لواجهة برمجة التطبيقات) أو الإصدارات الأحدث من خلال اختيار تشغيل > الملف الشخصي.