تعد systrace أداة قوية تجمع معلومات التوقيت من العمليات الجاري تشغيلها على Android. إليك كيفية التقاط تتبع النظام على Android Pie.
يعد التتبع أداة لا تقدر بثمن تمكن المطورين من فهم تأثير التغييرات المختلفة على النظام ويمكن أن توفر أدلة لتحديد السبب الجذري للمشاكل.
com.systrace هي إحدى أدوات التتبع القوية التي تجمع معلومات التوقيت من العمليات يعمل على جهاز أندرويد. com.systrace تم استخدامه على نطاق واسع من قبل فريق أداء الروبوت في Google لتحسين الأداء على هواتف Google Pixel. لقد استخدمت com.systrace لفحص تأثير تغييرات جدولة kernel على مواضع المهام على وحدات المعالجة المركزية (CPUs)، على سبيل المثال، ولتحديد الأسباب المحتملة للأخطاء. com.systrace يمكنه التقاط مجموعة واسعة من البيانات، بما في ذلك جدولة وحدة المعالجة المركزية، وتردد وحدة المعالجة المركزية، وإدخال / إخراج القرص، والرسومات، ونشاط Binder، وغير ذلك الكثير. يتم دمج المعلومات في تقرير يمكن تحليله في Google Chrome.
قبل Android Pie، كانت الطريقة الوحيدة لالتقاط الآثار هي com.systrace كان توصيل جهاز Android بجهاز كمبيوتر وتشغيل systrace من هناك - عادةً من محطة طرفية. ومع ذلك، لا يتمتع الجميع بإمكانية الوصول المستمر إلى جهاز الكمبيوتر، أو المعرفة والثقة اللازمة لتشغيل systrace.
مع إصدار Android Pie، تمت معالجة هذا الإزعاج من خلال تقديم حزمة Traceur، وهي أداة تلتقط بيانات التتبع الأولية مباشرة على هاتف أندرويد. يتوفر Traceur كخيار "System Tracing" في خيارات المطور في تطبيق الإعدادات، ويمكن تحويل بيانات التتبع الأولية التي تم التقاطها على الجهاز بواسطة Traceur في وقت لاحق عن طريق com.systrace إلى تقرير HTML للتحليل.
يتيح خيار "System Tracing" الجديد للمستخدمين التقاط الآثار ومشاركتها مع المطورين بسهولة، دون الحاجة إلى معرفة كيفية التشغيل فعليًا com.systrace على جهاز كمبيوتر. يستفيد المطورون من القدرة على التقاط الآثار بدون جهاز كمبيوتر وتحليلها لاحقًا حسب ما يناسبهم. كما أن حجم بيانات التتبع الأولية الكاملة التي تم جمعها بواسطة "System Tracing" أصغر بكثير من حجم تقرير HTML الذي تم إنشاؤه بواسطة com.systraceمما يجعل بيانات التتبع الأولية أكثر ملاءمة للتخزين والمشاركة مع الآخرين.
الدليل: جمع النظام وتحليل آثار النظام
أولاً، تأكد من أن لديك جهازًا يعمل بنظام Android Pie وجهاز كمبيوتر مثبت عليه Python 2. تم تنفيذ الإرشادات التالية على هاتف OnePlus 6 الذي يعمل بأحدث إصدار تجريبي من OxygenOS Android Pie.
- قم بتمكين خيارات المطور في تطبيق الإعدادات، ثم قم بالوصول إلى خيار "تتبع النظام". ضمن قسم "تصحيح الأخطاء" في خيارات المطور.
- عند فتح تتبع النظام، سيظهر لك مفتاح تبديل لتمكين تتبع النظام، والقدرة على تخصيص فئات التتبع وحجم المخزن المؤقت لعمليات التتبع. في هذا العرض التوضيحي، يتم استخدام الفئات الافتراضية، وهي كافية لمعظم الحالات. يسمح مفتاح التبديل "إظهار مربع الإعدادات السريعة" ببدء/إيقاف التتبع عبر الإعدادات السريعة. لقد قمت بتمكين هذا لهذا الدليل.
- لبدء التقاط التتبع، انقر فوق مربع الإعدادات السريعة "تسجيل التتبع" الذي تمت إضافته مؤخرًا.
- عند الانتهاء من تتبع حالة اختبار، يمكنك إيقاف التتبع من مركز الإشعارات.
- عظيم! لقد نجحت في التقاط أثر خام. سيطالبك الإشعار بمشاركة ملف التتبع الأولي. يجب أن تكون قادرًا على حفظه على جهازك، وتحميله على وحدة التخزين عبر الإنترنت، وإرساله بالبريد الإلكتروني إلى شخص ما، وما إلى ذلك. وبدلاً من ذلك، يمكنك استخدام ADB لسحب التتبع مباشرة من جهازك إلى جهاز الكمبيوتر الخاص بك (
adb pull /data/local/traces/
). تابع واحفظ ملف التتبع على جهاز الكمبيوتر الخاص بك. - يحتوي ملف التتبع الخام على الماكياج تنسيق .ctrace. ولا يمكن تفسيره في شكله الخام. يمكننا ان نستخدم com.systrace لإنشاء تقرير HTML تفاعلي أكثر فائدة وقابلية للفهم من ملف التتبع الأولي الخاص بنا.
- سوف نستخدم أحدث إصدار من com.systrace من المنجنيق الريبو المشروع. في تطبيق طرفي، قم باستنساخ الريبو (تأكد من تثبيت git):
git clone https://github.com/catapult-project/catapult.git
- لإنشاء تقرير HTML من ملف التتبع الأولي الخاص بنا باستخدام com.systrace، أدخل الأوامر التالية:
سيتم إنشاء ملف HTML بنفس اسم ملف التتبع الأولي. ملاحظة: يدعم systrace لغة Python 2 فقط في وقت كتابة هذا التقرير.python2 catapult/systrace/bin/systrace --from-file=<pathtorawtracefile>
- لعرض تقرير HTML، قم بتشغيل متصفح Google Chrome والوصول إلى عنوان URL "chrome://tracing". لا تفتح تقرير HTML مباشرة في Google Chrome لأنه سيظهر فارغًا.
- انقر فوق "تحميل" وافتح ملف تقرير HTML من مربع الحوار المنبثق. هاهو! تقرير التتبع الخاص بك متاح الآن للفحص.
ماذا بعد؟
الآن بعد أن أصبحت قادرًا على التقاط التتبع وإنشاء ملف com.systrace التقرير، من المهم فهم كيفية قراءة وتفسير البيانات المقدمة في التقرير. في البداية أنصحك بقراءة "فهم سيستراس"، ويشاهد"أداء Android: نظرة عامة (Google I/O '17)" و "سيستراس للألعاب" لترى com.systrace في العمل.
هذا منشور ضيف تمت كتابته في الأصل بواسطة Josh Choo، المعروف أيضًا باسم مطور XDA المعترف به مرح. تم تحرير المنشور بشكل طفيف من أجل التنسيق.