تسجيل تتبُّع النظام في سطر الأوامر

يستدعي الأمر systrace أداة Systrace التي تتيح لك جمع وفحص معلومات التوقيت في جميع العمليات التي يتم تشغيلها على جهازك على مستوى النظام.

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

لتشغيل systrace، أكمل الخطوات التالية:

  1. من "استوديو Android"، نزِّل أحدث أدوات حزمة تطوير البرامج (SDK) لنظام التشغيل Android وثبِّتها.
  2. ثبِّت Python وأدرِجها في متغير بيئة PATH لمحطة العمل.
  3. أضِف android-sdk/platform-tools/ إلى متغيِّر بيئة PATH. يحتوي هذا الدليل على البرنامج الثنائي Debug Bridge من Android (adb)، الذي يتم استدعاؤه بواسطة برنامج systrace.
  4. وصِّل جهازًا يعمل بنظام التشغيل Android 4.3 (المستوى 18 لواجهة برمجة التطبيقات) أو إصدار أحدث بنظام التطوير باستخدام اتصال تصحيح أخطاء USB.

يتوفر الأمر systrace في حزمة أدوات SDK لنظام التشغيل Android ويقع في android-sdk/platform-tools/systrace/.

بناء الجملة

لإنشاء تقرير HTML للتطبيق، يجب تشغيل systrace من سطر الأوامر باستخدام البنية التالية:

python systrace.py [options] [categories]

على سبيل المثال، يستدعي الأمر التالي systrace لتسجيل نشاط الجهاز وإنشاء تقرير HTML باسم mynewtrace.html. تُعد قائمة الفئات هذه قائمة افتراضية معقولة لمعظم الأجهزة.

$ python systrace.py -o mynewtrace.html sched freq idle am wm gfx view \
    binder_driver hal dalvik camera input res memory

نصيحة: إذا كنت تريد الاطّلاع على أسماء المهام في مخرجات التتبع، يجب تضمين الفئة sched في معلمات الأوامر.

لعرض قائمة بالفئات التي يتوافق معها جهازك المتصل، شغِّل الأمر التالي:

$ python systrace.py --list-categories

إذا لم تحدّد أي فئات أو خيارات، سينشئ systrace تقريرًا يتضمّن جميع الفئات المتاحة ويستخدم الإعدادات التلقائية. تعتمد الفئات المتاحة على الجهاز المتصل الذي تستخدمه.

الخيارات العامة

الخيارات العامة الوصف
-h | --help اعرض رسالة المساعدة.
-l | --list-categories يسرد فئات التتبُّع المتاحة لجهازك المتصل.

الأوامر وخيارات الأوامر

الأوامر والخيارات الوصف
-o file كتابة تقرير تتبُّع HTML إلى file المحدَّد. إذا لم تحدّد هذا الخيار، يحفظ systrace تقريرك في الدليل نفسه مثل systrace.py ويسمّيه trace.html.
-t N | --time=N تتبُّع نشاط الجهاز لمدة N ثانية في حال عدم تحديد هذا الخيار، ستطلب منك خدمة systrace إنهاء عملية التتبُّع من خلال الضغط على مفتاح Enter من سطر الأوامر.
-b N | --buf-size=N استخدِم حجم المخزن المؤقت للتتبّع البالغ N كيلوبايت. يتيح لك هذا الخيار تحديد الحجم الإجمالي للبيانات التي يتم جمعها خلال عملية التتبُّع.
-k functions
| --ktrace=functions
تتبُّع نشاط دوال نواة محددة، والمحدّدة في قائمة مفصولة بفواصل
-a app-name
| --app=app-name
تتيح هذه السياسة تتبُّع التطبيقات، وهي محدَّدة كقائمة لأسماء العمليات مفصولة بفواصل. يجب أن تحتوي التطبيقات على استدعاءات أدوات التتبُّع من الفئة Trace. عليك تحديد هذا الخيار كلما أضفت ملفًا شخصيًا إلى تطبيقك. يتضمّن العديد من المكتبات، مثل RecyclerView، طلبات بيانات أدوات التتبّع التي تقدّم معلومات مفيدة عند تفعيل ميزة التتبُّع على مستوى التطبيق. لمزيدٍ من المعلومات، اطّلِع على مقالة تحديد الأحداث المخصَّصة.

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

--from-file=file-path يمكنك إنشاء تقرير HTML تفاعلي من ملف، مثل ملفات TXT التي تتضمّن بيانات تتبُّع أولية، بدلاً من تشغيل عملية تتبُّع مباشرة.
-e device-serial
| --serial=device-serial
يجب إجراء عملية التتبُّع على جهاز متصل محدَّد، ويتم تحديده من خلال الرقم التسلسلي للجهاز.
categories ضمِّن معلومات تتبُّع لعمليات النظام التي تحدّدها، مثل gfx لعمليات النظام التي تعرض الرسومات. يمكنك تشغيل systrace باستخدام الأمر -l للاطّلاع على قائمة بالخدمات المتاحة لجهازك المتصل.