فحص سجلات التتبُّع باستخدام Traceview

تم إيقاف خدمةTraceview نهائيًا. إذا كنت تستخدم الإصدار Android Studio 3.2 أو إصدار أحدث، عليك بدلاً من ذلك استخدام محلل وحدة المعالجة المركزية (CPU) لفحص .trace الملفات التي تم التقاطها من خلال قياس أداء تطبيقك في الفئة Debug وتسجيل عمليات تتبُّع الطرق الجديدة وحفظ ملفات .trace وفحص استخدام وحدة المعالجة المركزية (CPU) في الوقت الفعلي لعمليات تطبيقك.

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

ملاحظة: يمكنك استخدام dmtracedump من سطر الأوامر لإنشاء مخطّطات بيانية لتكديس الاستدعاءات لملفات سجلّ التتبُّع.

إذا لم تكن بحاجة إلى عرض سجلات التتبّع التي سجّلتها من خلال قياس تأثير تطبيقك باستخدام الفئة Debug، يمكنك استخدام أداة تحليل وحدة المعالجة المركزية (CPU) المضمَّنة في الإصدار Android Studio 3.0 والإصدارات الأحدث لفحص سلاسل محادثات تطبيقك وتسجيل عمليات تتبُّع الطرق.

فتح سجلّ تتبُّع باستخدام Traceview

لفتح سجلّ تتبُّع باستخدام Traceview من "استوديو Android"، اتّبِع الخطوات التالية:

  1. ابدأ تشغيل Android Device Monitor.
  2. في Android Device Monitor (مراقبة جهاز Android)، اختَر File (ملف) > Open File (فتح ملف).
  3. انتقِل إلى ملف .trace الذي تريد فحصه.
  4. انقر على فتح.

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

ملاحظة: تم إيقاف استخدام traceview من سطر الأوامر نهائيًا.

نظرة عامة على Traceview

بعد فتح سجلّ تتبُّع، تعرض Traceview بيانات السجلّ باستخدام اللوحتَين التاليتَين:

تقدم الأقسام أدناه معلومات إضافية عن لوحات نتائج طريقة التتبع.

جزء المخطط الزمني

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

جزء المخطط الزمني في Traceview

الشكل 1. لوحة المخطط الزمني في Traceview

جزء الملف الشخصي

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

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

بالنسبة إلى كل عقدة من المستوى الأعلى في لوحة الملف الشخصي، يعرض عمود Calls + Rec, Call/Total في الجدول (غير معروض في الشكل 2) عدد المكالمات الواردة إلى الطريقة وعدد المكالمات المتكررة. أو بالنسبة إلى الطرق الرئيسية والفرعية، يعرض هذا العمود عدد الطلبات التي كانت فيها الطريقة تابعة أو أصل الطريقة في عقدة المستوى الأعلى.

جزء الملف الشخصي في Traceview.

الشكل 2. جزء الملف الشخصي في Traceview.

المشاكل المعروفة في Traceview

لا يعالج تسجيل Traceview سلاسل المحادثات بشكل جيد، ما يؤدي إلى حدوث المشاكل التالية:

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