بيريتو

تتيح لك أداة perfetto جمع معلومات الأداء من أجهزة Android عبر Android Debug Bridge (ADB) استدعاء perfetto باستخدام الأمر adb shell perfetto .... يستخدم perfetto مجموعة مصادر لجمع بيانات تتبّع الأداء من جهازك، مثل:

  • ftrace للحصول على معلومات من النواة (kernel)
  • atrace للتعليق التوضيحي لمساحة المستخدم في الخدمات والتطبيقات
  • heapprofd للحصول على معلومات استخدام الذاكرة الأصلية للخدمات والتطبيقات

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

بناء الجملة

يوضّح هذا القسم كيفية استخدام ADB لطلب perfetto في أوضاع مختلفة. وإنشاء التتبع.

اختيار مصدر البيانات

يتضمّن perfetto الوضعَين التاليَين اللذين يحدّدان مصادر البيانات التي تستخدمها لتسجيل آثار الأنشطة:

  • الوضع الفاتح: يمكن اختيار مجموعة فرعية فقط من مصادر البيانات، وتحديدًا atrace. وftrace. ومع ذلك، يوفر هذا الوضع واجهة مشابهة systrace
  • الوضع العادي: يتم ضبطه في مخزن بروتوكولات مؤقت ويتيح لك الاستفادة من المزيد من وظائف perfetto باستخدام مصادر بيانات مختلفة من atrace وftrace

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

يسرد الجدول التالي الخيارات المتاحة عند استخدام perfetto في أيّ من الوضع:

الجدول 1. قائمة الخيارات العامة المتاحة خيارات أداة تحسين الأداء.

Option الوصف
--background |
-d
يخرج perfetto فورًا من واجهة سطر الأوامر ويتابع العملية. لتسجيل أثرك في الخلفية.
--background-wait | -D مثل --background، ولكن تنتظر (ما يصل إلى 30 ثانية) للجميع مصادر البيانات للبدء قبل الخروج. الخروج تكون قيمة الرمز صفرًا إذا كان الإقرار الناجح تم استلامها وغير صفرية بخلاف ذلك (خطأ أو مهلة).
--alert-id رقم تعريف التنبيه الذي أدّى إلى عملية التتبّع هذه.
--config-id رقم تعريف إعداد التشغيل.
--config-uid المعرّف الفريد للتطبيق الذي سجَّل الإعدادات
--subscription-id رقم تعريف الاشتراك الذي أدّى إلى عملية التتبّع هذه.
--out OUT_FILE |
-o OUT_FILE

تحدِّد المسار المطلوب لملف تتبُّع النتائج أو - لـ stdout. يكتب perfetto الإخراج في الملف الموضح في العلامات السابقة. يتم تجميع تنسيق الإخراج بالتنسيق المحدد في AOSP trace.proto:

ملاحظة: يجب تحديد اسم المسار الكامل ملف إخراج. عادة ما يجب كتابة الملفات في مجلد مجلد واحد (/data/misc/perfetto-traces).

--upload عند الانتهاء، يتم تمرير التتبع إلى الحزمة المحددة بواسطة رسالة واحدة (IncidentReportConfig) في إعداد تتبُّع النماذج الأوّلية.
--no-guardrails لإيقاف إجراءات الحماية من الاستخدام المفرط للموارد عند تفعيل حالة العلامة --upload أثناء الاختبار.
--reset-guardrails يعيد هذا الإعداد ضبط الحالة الدائمة لقيود الحماية والخروج للاختبار.
--rsave-for-bugreport إذا كان التتبّع باستخدام bugreport_score > 0 قيد التشغيل، لحفظ التتبع في ملف. إخراج المسار عند الانتهاء
--query تستعلم عن حالة الخدمة وتطبعها كنص يمكن للمستخدم قراءته.
--query-raw على غرار --query، ولكنها تطبع وحدات بايت أوّلية بترميز أوّلي من tracing_service_state.proto.
--help | -h يطبع نص المساعدة للأداة perfetto.

الوضع الفاتح

في ما يلي البنية العامة لاستخدام perfetto في الوضع الفاتح:

 adb shell perfetto [ --time TIMESPEC ] [ --buffer SIZE ] [ --size SIZE ]
             [ ATRACE_CAT | FTRACE_GROUP/FTRACE_NAME | FTRACE_GROUP/* ]...
             --out FILE

يسرد الجدول التالي الخيارات المتاحة عند استخدام "perfetto" في الوضع الفاتح:

الجدول 2. قائمة perfetto المتاحة خيارات الأداة عند استخدام الوضع الفاتح.

Option الوصف
--time TIME[s|m|h] |
-t TIME[s|m|h]
تُحدِّد مدة التتبُّع بالثواني أو الدقائق أو الساعات. على سبيل المثال، يحدّد --time 1m مدة تتبُّع تبلغ دقيقة واحدة. المدة التلقائية هي 10 ثوانٍ.
--buffer SIZE[mb|gb] |
-b SIZE[mb|gb]
تحدّد حجم المخزن المؤقت للحلقة بالميغابايت أو الغيغابايت. المعلمة التلقائية هي --buffer 32mb.
--size SIZE[mb|gb] |
-s SIZE[mb|gb]
تحدّد هذه السياسة الحد الأقصى لحجم الملف بالميغابايت أو الغيغابايت. من بشكل تلقائي، يستخدم perfetto المخزن المؤقت في الذاكرة فقط.
--app | -a اسم تطبيق Android (atrace)

تكون هذه الخيارات متبوعة بقائمة محددات الأحداث:

الجدول 3. قائمة محددات الأحداث لـ الوضع الفاتح.

حدث الوصف
ATRACE_CAT تُحدِّد هذه السياسة فئات atrace التي تريد تسجيل تتبُّع تتبُّعها. على سبيل المثال، يتتبّع الأمر التالي "مدير النوافذ" باستخدام atrace:
    adb shell perfetto --out FILE wm
    

لتسجيل فئات أخرى، اطّلِع على هذا القسم قائمة من atrace فئة

FTRACE_GROUP/FTRACE_NAME تُحدِّد هذه السياسة أحداث ftrace التي تريد تسجيل تتبُّع لها. على سبيل المثال، يتتبّع الأمر التالي أحداث sched/sched_switch:
      adb shell perfetto --out FILE sched/sched_switch
      

الوضع العادي

في ما يلي البنية العامة لاستخدام perfetto في الوضع العادي:

 adb shell perfetto [ --txt ] --config CONFIG_FILE --out FILE

يسرد الجدول التالي الخيارات المتاحة عند استخدام "perfetto" في الوضع العادي:

الجدول 4. قائمة perfetto المتاحة خيارات الأداة عند استخدام الوضع العادي.

Option الوصف
--config CONFIG_FILE | -c CONFIG_FILE تُستخدَم لتحديد المسار إلى ملف إعداد. في الوضع العادي، قد لا تكون من الإعدادات في مخزن بروتوكول التهيئة المؤقت. هذا الملف مع مخطط المخزن المؤقت للبروتوكولات المحدد في AOSP trace_config.proto:

تحديد مصادر البيانات وإعدادها باستخدام DataSourceConfig عضو في TraceConfig، بصفة محددة في بروتوكول AOSP data_source_config.proto

--txt توجّه هذه السياسة perfetto إلى تحليل ملف الإعداد باسم pbtxt. هذا النمط للاختبار المحلي فقط، ولا يُنصح لتفعيلها للإنتاج.

مصادر البيانات المتوافقة

يوضّح هذا القسم المصادر المختلفة التي يستخدمها perfetto لإنشاء المحتوى. أثرك.

حساب ftrace

يسمح مصدر البيانات "ftrace" لمتصفِّح perfetto بالحصول على الأحداث من النواة.

تفعيل هذا المصدر من خلال الإعداد ftrace_config في DataSourceConfig.

تتضمّن الأحداث التي يمكن تفعيلها ما يلي:

  • جدولة النشاط:

    • sched/sched_switch
    • sched/sched_wakeup
    • sched/sched_wakeup_new
    • sched/sched_process_exec
    • sched/sched_process_exit
    • sched/sched_process_fork
    • sched/sched_process_free
    • sched/sched_process_hang
    • sched/sched_process_wait
  • أحداث نظام الملفات:

  • atrace أحداث

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

إحصاءات العمليات

يتيح لك مصدر بيانات إحصاءات العملية الحصول على عدّادات استطلاعات حول والعمليات الفردية والنظامية.

تفعيل هذا المصدر من خلال ضبط process_stats_config وsys_stats_config في DataSourceConfig.

تشمل البيانات التي ينشئها "perfetto" ما يلي:

استنادًا إلى الجهاز وإصدار نظام التشغيل والنواة، قد يتم المتوفرة. للمزيد من المعلومات، يُرجى الرجوع إلى النماذج الأوّلية للإعدادات الخاصة بـ sys_stats. وprocess_stats

heapprofd

يتيح لك heapprofd نماذج من أسباب استخدام الذاكرة الأصلية.

تفعيل هذا المصدر من خلال ضبط heapprofd_config في DataSourceConfig. ينتج عن هذا الإعداد ProfilePackets بما في ذلك إطارات Java لاستدعاء الاستدعاء.

يمكنك العثور على معلومات إضافية عن كيفية استخدام heapprofd على perfetto.dev

مصادر أخرى

اعتمادًا على الجهاز وإصدار نظام التشغيل والنواة، قد يتم المتوفرة. لمزيد من المعلومات، يُرجى الرجوع إلى النماذج الأوّلية لتهيئة مصدر البيانات.

يمكن العثور على معلومات إضافية حول perfetto في perfetto.dev.