تقدّم هذه الصفحة نصائح حول تحديد المشاكل وحلّها لبدء استخدام "مراقبة الأداء" أو استخدام ميزات وأدوات "مراقبة الأداء".
عمليات التحقّق الأولى لتحديد المشاكل وحلّها
اثنان من عمليات الفحص التالية هما أفضل الممارسات العامة الموصى بها لأي شخص قبل إجراء المزيد من خطوات استكشاف الأخطاء وإصلاحها.
1- التحقّق من رسائل السجلّ لأحداث الأداء
تحقَّق من رسائل السجلّ للتأكّد من أنّ حزمة تطوير البرامج (SDK) لمراقبة الأداء تسجِّل أحداث الأداء.
كيفية عرض رسائل سجلّ أحداث الأداء
يمكنك تفعيل تسجيل تصحيح الأخطاء لميزة "مراقبة الأداء" في وقت الإصدار من خلال إضافة عنصر
<meta-data>
إلى ملفAndroidManifest.xml
في تطبيقك، كما يلي:<application> <meta-data android:name="firebase_performance_logcat_enabled" android:value="true" /> </application>
تحقَّق من رسائل السجلّ بحثًا عن أي رسائل خطأ.
تضيف "مراقبة الأداء" علامة
FirebasePerformance
على رسائل السجلّ الخاصة بها. باستخدام فلترة السجلّات، يمكنك على وجه التحديد عرض تتبُّع المدة وتسجيل طلب شبكة HTTP/S من خلال تشغيل الأمر التالي:adb logcat -s FirebasePerformance
تحقَّق من الأنواع التالية من السجلّات التي تشير إلى أنّ ميزة "مراقبة الأداء" تسجِّل أحداث الأداء:
Logging trace metric: TRACE_NAME, FIREBASE_PERFORMANCE_CONSOLE_URL
Logging network request trace: URL
انقر على عنوان URL للاطّلاع على بياناتك في "وحدة تحكُّم Firebase". قد يستغرق الأمر بضع دقائق حتى يتم تحديث البيانات في لوحة المعلومات.
إذا كان تطبيقك لا يسجّل أحداث الأداء، راجِع نصائح تحديد المشاكل وحلّها.
2- التحقق من لوحة بيانات حالة Firebase
تحقَّق من لوحة البيانات الخاصة بالحالة في Firebase في حال حدوث انقطاعات في الخدمة في Firebase أو في "مراقبة الأداء".
بدء استخدام ميزة "مراقبة الأداء"
إذا كنت تبدأ باستخدام ميزة "مراقبة الأداء" (iOS+ | Android | الويب)، يمكن أن تساعدك النصائح التالية لتحديد المشاكل وحلّها في ما يتعلّق بالمشاكل التي تتضمّن رصد Firebase لحزمة تطوير البرامج (SDK) أو عرض بيانات الأداء الأولى في وحدة تحكُّم Firebase.
تمت إضافة حزمة SDK إلى التطبيق، ولكن وحدة التحكّم ما زالت تطلب إضافة حزمة SDK
يمكن لـ Firebase اكتشاف ما إذا كنت قد أضفت حزمة SDK لمراقبة الأداء بنجاح إلى تطبيقك عندما يتلقّى معلومات الأحداث (مثل التفاعلات مع التطبيق) من تطبيقك. خلال 10 دقائق عادةً من بدء تشغيل التطبيق، تعرض لوحة بيانات الأداء لوحدة تحكُّم Firebase رسالة "تم رصد حزمة تطوير برامج (SDK)". بعد ذلك، في غضون 30 دقيقة، تعرض لوحة المعلومات البيانات الأولية التي تمت معالجتها.
إذا مرّ أكثر من 10 دقائق على إضافة أحدث إصدار من حزمة تطوير البرامج (SDK) إلى تطبيقك، ولم يظهر أي تغيير بعد، راجِع رسائل السجلّ للتأكّد من أنّ "مراقبة الأداء" تسجِّل الأحداث. يُرجى تجربة الخطوات المناسبة لتحديد المشاكل وحلّها كما هو موضّح أدناه، وتحديد وحلّ المشاكل المتعلّقة بتعذّر إرسال رسالة رصد حزمة تطوير البرامج (SDK) المتأخّرة.
يسجِّل التطبيق الأحداث: خطوات تحديد المشاكل وحلّها
يُرجى التأكّد من استخدام الإصدار 19.1.0 من حزمة تطوير البرامج (SDK) لنظام التشغيل Android أو إصدار أحدث (أو الإصدار 26.3.0 من Firebase BoM أو إصدار أحدث)، يُرجى الاطّلاع على ملاحظة الإصدار.
إذا كنت لا تزال تطوِّر محليًا، حاوِل إنشاء المزيد من الأحداث لجمع البيانات:
- يمكنك إنشاء أحداث بتبديل حالة تطبيقك بين الخلفية والمقدمة عدة مرات، أو التفاعل مع التطبيق من خلال التنقُّل بين الشاشات، و/أو إرسال طلبات عبر الشبكة.
يُرجى التأكّد من إضافة ملف إعداد Firebase (
google-services.json
) إلى تطبيقك بشكل صحيح ومن عدم تعديل الملف. على وجه التحديد، تحقق مما يلي:لا يتم إلحاق اسم ملف الإعداد بأحرف إضافية، مثل
(2)
.يتوفّر ملف الإعداد في دليل الوحدة (على مستوى التطبيق) لتطبيقك.
إنّ رقم تعريف تطبيق Android (
mobilesdk_app_id
) الوارد في ملف الإعداد صحيح لتطبيقك. ويمكنك العثور على رقم تعريف تطبيق Firebase في بطاقة تطبيقاتك في settings إعدادات مشروع.
إذا كان هناك أي خطأ يبدو في ملف الإعداد في تطبيقك، جرِّب ما يلي:
احذف ملف الإعداد المتوفّر حاليًا في تطبيقك.
اتبع هذه التعليمات لتنزيل ملف إعداد جديد وإضافته إلى تطبيق Android.
إذا كانت حزمة SDK تسجِّل الأحداث ويبدو أنّه قد تم إعداد كل شيء بشكلٍ صحيح، ولكن ما زلت لا ترى رسالة اكتشاف حزمة SDK أو البيانات التي تمت معالجتها (بعد 10 دقائق)، يُرجى التواصل مع فريق دعم Firebase.
لا يسجِّل التطبيق الأحداث: خطوات تحديد المشاكل وحلّها
تحقق من إعداد المكوّن الإضافي لنظام Gradle لمراقبة الأداء، كما يلي:
تأكَّد من إضافة المكوّن الإضافي بشكل صحيح. على وجه التحديد، تحقق مما يلي:
- لقد أضفت المكوّن الإضافي
(
) في ملفapply plugin: 'com.google.firebase.firebase-perf' build.gradle
الوحدة (على مستوى التطبيق). - لقد ضمّنت تبعية classpath للمكون الإضافي
(
) في ملفclasspath 'com.google.firebase:perf-plugin:1.4.2' build.gradle
على مستوى المشروع.
- لقد أضفت المكوّن الإضافي
(
تأكَّد من أنّ المكون الإضافي لم يتم إيقافه من خلال أي من العلامتين التاليتين:
instrumentationEnabled
في ملفbuild.gradle
للوحدة (على مستوى التطبيق)firebasePerformanceInstrumentationEnabled
في ملفgradle.properties
تأكّد من أنّ حزمة تطوير البرامج (SDK) لمراقبة الأداء غير غير مفعّلة من خلال أي من العلامتين التاليتين في ملف
AndroidManifest.xml
:firebase_performance_collection_enabled
firebase_performance_collection_deactivated
تأكَّد من أنّ ميزة "مراقبة الأداء" غير متوقفة في وقت التشغيل.
إذا تعذّر عليك العثور على أي عنصر غير مفعّل في تطبيقك، يُرجى التواصل مع فريق دعم Firebase.
تشير وحدة التحكّم إلى أنّه تم رصد حزمة تطوير البرامج (SDK)، ولكن لا يتم عرض أي بيانات
تعالج ميزة "مراقبة الأداء" بيانات أحداث الأداء قبل عرضها في لوحة بيانات الأداء.
إذا مرّ أكثر من 24 ساعة على ظهور رسالة "تم رصد حزمة تطوير البرامج (SDK)" ولم تظهر لك البيانات بعد، يُرجى التحقّق من لوحة البيانات الخاصة بحالة Firebase في حال حدوث انقطاع معروف في الخدمة. وفي حال عدم حدوث أي انقطاع في الخدمة، يُرجى التواصل مع فريق دعم Firebase.
الإجراءات العامّة لتحديد المشاكل وحلّها
إذا أضفت حزمة تطوير البرامج (SDK) بنجاح وتستخدم ميزة "مراقبة الأداء" في تطبيقك، يمكن أن تساعدك النصائح التالية لتحديد المشاكل وحلّها في ما يتعلّق بالمشاكل العامة التي تشمل ميزات وأدوات "مراقبة الأداء".
لا يسجِّل التطبيق أحداث الأداء.
إذا كنت لا ترى رسائل تسجيل أحداث الأداء، جرِّب الخطوات التالية لتحديد المشاكل وحلّها:
تحقق من إعداد المكوّن الإضافي لنظام Gradle لمراقبة الأداء، كما يلي:
تأكَّد من إضافة المكوّن الإضافي بشكل صحيح. على وجه التحديد، تحقق مما يلي:
- لقد أضفت المكوّن الإضافي
(
) في ملفapply plugin: 'com.google.firebase.firebase-perf' build.gradle
الوحدة (على مستوى التطبيق). - لقد ضمّنت تبعية classpath للمكون الإضافي
(
) في ملفclasspath 'com.google.firebase:perf-plugin:1.4.2' build.gradle
على مستوى المشروع.
- لقد أضفت المكوّن الإضافي
(
تأكَّد من أنّ المكون الإضافي لم يتم إيقافه من خلال أي من العلامتين التاليتين:
instrumentationEnabled
في ملفbuild.gradle
للوحدة (على مستوى التطبيق)firebasePerformanceInstrumentationEnabled
في ملفgradle.properties
تأكّد من أنّ حزمة تطوير البرامج (SDK) لمراقبة الأداء غير غير مفعّلة من خلال أي من العلامتين التاليتين في ملف
AndroidManifest.xml
:firebase_performance_collection_enabled
firebase_performance_collection_deactivated
تأكَّد من أنّ ميزة "مراقبة الأداء" غير متوقفة في وقت التشغيل.
إذا تعذّر عليك العثور على أي عنصر غير مفعّل في تطبيقك، يُرجى التواصل مع فريق دعم Firebase.
لا تتضمّن لوحة بيانات الأداء بيانات تتبُّع الشاشة.
إذا كانت بيانات تتبُّع عرض الشاشة غير متوفّرة، جرِّب الخطوات التالية لتحديد المشاكل وحلّها:
تأكد من استخدام أحدث إصدار من حزمة تطوير البرامج (SDK) لنظام التشغيل Android (الإصدار 21.0.1). لا تتوفر آثار عرض الشاشة إلا مع الإصدار 15.2.0 أو الإصدارات الأحدث.
تأكَّد من عدم إيقاف تسريع الأجهزة يدويًا على شاشة.
تأكد من عدم استخدام DexGuard أو Jack. ميزة "مراقبة الأداء" غير متوافقة مع سلاسل الأدوات هذه
توقِف DexGuard التجميع التلقائي لعمليات تتبُّع بدء التطبيق والتشغيل في المقدّمة والتطبيق في الخلفية. ومع ذلك، من المفترض أن تعمل أيّ عمليات تتبُّع مخصّصة للرموز على النحو المعتاد إذا كان تطبيقك يستخدم DexGuard.
تم إيقاف Jack نهائيًا ومن المفترض ألا يتم استخدامه في تطبيقك بشكل عام.
لا تتضمّن لوحة بيانات الأداء بيانات تتبُّع مخصّصة.
هل تظهر لك بيانات الأداء لعمليات التتبّع المجمَّعة تلقائيًا ولكن ليس لعمليات تتبُّع الرموز المخصّصة؟ يُرجى اتّباع الخطوات التالية لتحديد المشاكل وحلّها:
في حال ضبط عمليات تتبُّع الرموز المخصّصة من خلال Trace API، تحقَّق من إعداد عمليات التتبُّع، لا سيّما ما يلي:
- يجب أن تستوفي أسماء عمليات تتبُّع الرموز المخصّصة والمقاييس المخصّصة المتطلبات التالية: عدم استخدام مسافات بيضاء بادئة أو لاحقة، وعدم استخدام شرطة سفلية
بادئة (
_
)، ويجب ألا يزيد عدد الأحرف عن 32 حرفًا. - يجب بدء جميع آثار الأنشطة وإيقافها. ولن يتم تسجيل أي عملية تتبُّع لم يتم بدؤها أو لم يتم إيقافها أو إيقافها قبل بدئه.
- يجب أن تستوفي أسماء عمليات تتبُّع الرموز المخصّصة والمقاييس المخصّصة المتطلبات التالية: عدم استخدام مسافات بيضاء بادئة أو لاحقة، وعدم استخدام شرطة سفلية
بادئة (
إذا كنت تستخدم عمليات تتبُّع الرموز المخصّصة من خلال تدوين
@AddTrace
، تحقَّق من إعداد المكوّن الإضافي "مراقبة الأداء على Gradle":تأكَّد من إضافة المكوّن الإضافي بشكل صحيح. على وجه التحديد، تحقق مما يلي:
- لقد أضفت المكوّن الإضافي
(
) في ملفapply plugin: 'com.google.firebase.firebase-perf' build.gradle
الوحدة (على مستوى التطبيق). - لقد ضمّنت تبعية classpath للمكون الإضافي
(
) في ملفclasspath 'com.google.firebase:perf-plugin:1.4.2' build.gradle
على مستوى المشروع.
- لقد أضفت المكوّن الإضافي
(
تأكَّد من أنّ المكون الإضافي لم يتم إيقافه من خلال أي من العلامتين التاليتين:
instrumentationEnabled
في ملفbuild.gradle
للوحدة (على مستوى التطبيق)firebasePerformanceInstrumentationEnabled
في ملفgradle.properties
تحقَّق من رسائل السجلّ للتأكّد من أنّ "أداة مراقبة الأداء" تسجِّل عمليات تتبُّع الرمز المخصَّصة المتوقّعة.
إذا كانت "مراقبة الأداء" تسجِّل الأحداث، ولكن لا يتم عرض أي بيانات بعد 24 ساعة، يمكنك التواصل مع فريق دعم Firebase.
لا تتضمّن لوحة بيانات الأداء بيانات طلبات الشبكة
إذا لم تتوفّر بيانات طلبات الشبكة، جرِّب الخطوات التالية لتحديد المشاكل وحلّها:
بالنسبة إلى تطبيقات Android، يتيح المكوّن الإضافي Performance Monitoring Gradle أداة توفّر المراقبة التلقائية لطلبات الشبكة HTTP/S. تحقَّق مما يلي:
تأكَّد من إضافة المكوّن الإضافي بشكل صحيح. على وجه التحديد، تحقق مما يلي:
- لقد أضفت المكوّن الإضافي
(
) في ملفapply plugin: 'com.google.firebase.firebase-perf' build.gradle
الوحدة (على مستوى التطبيق). - لقد ضمّنت تبعية classpath للمكون الإضافي
(
) في ملفclasspath 'com.google.firebase:perf-plugin:1.4.2' build.gradle
على مستوى المشروع.
- لقد أضفت المكوّن الإضافي
(
تأكَّد من أنّ المكون الإضافي لم يتم إيقافه من خلال أي من العلامتين التاليتين:
instrumentationEnabled
في ملفbuild.gradle
للوحدة (على مستوى التطبيق)firebasePerformanceInstrumentationEnabled
في ملفgradle.properties
تحقق من عدم توافق مكتبة الشبكة. تجمع "مراقبة الأداء" تلقائيًا مقاييس لطلبات الشبكة التي تستخدم مكتبات الشبكات التالية: OkHttp 3.x.x وURLConnection في Java وApache HttpClient.
تجدر الإشارة إلى أنّه يمكنك إضافة مراقبة مخصّصة لطلبات الشبكة.
يُرجى الانتباه إلى ما يلي:
استنادًا إلى سلوك الرمز البرمجي ومكتبات الشبكات التي يستخدمها الرمز، قد تقدِّم ميزة "مراقبة الأداء" تقارير فقط حول طلبات الشبكة التي تم إكمالها. وهذا يعني أنه قد لا يتم الإبلاغ عن اتصالات HTTP/S التي تُترك مفتوحة.
لا تتوافق "مراقبة الأداء" مع DexGuard وJack.
- يوقف DexGuard مراقبة طلبات شبكة HTTP/S.
- تم إيقاف Jack نهائيًا ومن المفترض ألا يتم استخدامه في تطبيقك بشكل عام.
لا تُبلغ ميزة "مراقبة الأداء" عن طلبات الشبكة التي تتضمّن عناوين
Content-Type
غير صالحة. ومع ذلك، سنواصل قبول طلبات الشبكة التي لا تتضمّن عناوينContent-Type
.
لا يتم تجميع بيانات طلبات الشبكة على النحو المتوقّع
يمكنك التعرّف على مزيد من المعلومات حول كيفية تجميع "مراقبة الأداء" لبيانات طلبات الشبكة ضمن أنماط عناوين URL.
يمكنك أيضًا تجربة أنماط عناوين URL المخصصة.
الأسئلة الشائعة
ماذا حدث لأهم المشاكل في بطاقة الأداء في صفحة المشروع الرئيسية؟
استبدلنا أهم المشاكل بـ التنبيهات الأخيرة كمتابعة لمقدمةنا الأخيرة للتنبيهات التي تُعلمك تلقائيًا عند تجاوز الحدود التي وضعتها. تم إيقاف المشاكل نهائيًا واستبدالها بالتنبيهات.
تعمل أداة اختيار التطبيقات أعلى بطاقة الأداء على فلترة إدخالات التنبيهات ضمن التنبيهات الأخيرة. يتم فقط عرض أحدث ثلاثة تنبيهات للتطبيقات المحددة.
لمزيد من المعلومات عن التنبيهات، اطّلِع على إعداد تنبيهات لمشاكل الأداء.
ماذا حدث لإمكانية وضع حدود للمشكلات في وحدة التحكم؟
تتيح "مراقبة الأداء" استخدام التنبيهات للمقاييس التي تتجاوز الحدود المحددة. ولتجنّب الالتباس مع هذه الحدود القابلة للضبط لمقاييس الأداء، أزلنا إمكانية ضبط الحدود للمشاكل.
ماذا حدث لمعلومات "التفاصيل والمقاييس" في وحدة تحكُّم Firebase؟
لقد استبدلنا صفحتَي "التفاصيل والمقاييس" بواجهة مستخدم مركزية أُعيد تصميمها حديثًا لتحسين طريقة تحديد المشاكل وحلّها. توفّر واجهة المستخدم الجديدة لتحديد المشاكل وحلّها الوظائف الأساسية نفسها التي توفّرها قسم "التفاصيل" و"المقاييس". للتعرُّف على المزيد من المعلومات عن تحديد المشاكل وحلّها، يُرجى الاطّلاع على عرض المزيد من البيانات الخاصة بتتبُّع معيّن.
لماذا عدد العينات ليس كما أتوقع؟
تجمع ميزة "مراقبة الأداء" بيانات الأداء من أجهزة المستخدمين في تطبيقك. إذا كان تطبيقك يتضمّن العديد من المستخدمين أو إذا كان التطبيق يُنشئ قدرًا كبيرًا من نشاط الأداء، قد تقصر ميزة "مراقبة الأداء" عملية جمع البيانات على مجموعة فرعية من الأجهزة لتقليل عدد الأحداث التي تتم معالجتها. هذه الحدود مرتفعة بدرجة كافية بحيث تظل قيم المقاييس تمثّل تجربة المستخدم في التطبيق، حتى مع عدد أقل من الأحداث.
لإدارة حجم البيانات التي نجمعها، تستخدم ميزة "مراقبة الأداء" الخيارات التالية لجمع العيّنات:
الحدّ من معدّل الزحف على الجهاز فقط: لمنع جهاز من إرسال مجموعات تتبُّع مفاجئة للرموز البرمجية، نحدّ من عدد عمليات تتبُّع طلبات الشبكة التي يتم إرسالها من الجهاز إلى 300 حدث كل 10 دقائق. ويحمي هذا الأسلوب الجهاز من الأدوات الحلقة التي يمكنها إرسال كميات كبيرة من بيانات الأداء، كما تمنع جهازًا واحدًا من تغيير قياسات الأداء.
أخذ العينات الديناميكي: تجمع ميزة "مراقبة الأداء" حدًّا أقصى يبلغ 100 مليون حدث لعمليات تتبُّع الرمز البرمجي و100 مليون عملية تتبُّع طلبات الشبكة لكل تطبيق يوميًا، وذلك لجميع مستخدمي التطبيق. يتم استرجاع معدّل أخذ العينات الديناميكي على الأجهزة (باستخدام ميزة "الإعداد عن بُعد في Firebase") لتحديد ما إذا كان يجب التقاط بيانات عمليات التتبُّع في جهاز عشوائي وإرسالها. لا يرسل الجهاز الذي لم يتم تحديده لجمع العيّنات أي أحداث. ويكون معدل أخذ العينات الديناميكي مرتبطًا بالتطبيق، ويتم ضبطه لضمان بقاء الحجم الإجمالي للبيانات التي يتم جمعها أقل من الحد المسموح به.
تُرسِل جلسات المستخدمين بيانات إضافية ومفصّلة من جهاز المستخدم، ما يتطلب المزيد من الموارد لتسجيل البيانات وإرسالها. للحدّ من تأثير جلسات المستخدمين، قد تعمل "مراقبة الأداء" أيضًا على الحدّ من عدد الجلسات
تحديد معدّل البيانات من جهة الخادم: لضمان عدم تجاوز التطبيقات الحدّ الأقصى لأخذ العيّنات، قد تستخدم "مراقبة الأداء" طريقة أخذ العيّنات من جهة الخادم لحذف بعض الأحداث التي يتم تلقّيها من الأجهزة. على الرغم من أن هذا النوع من التقييد لا يغير فعالية المقاييس، إلا أنه قد يتسبب في حدوث تغيُّرات طفيفة في النمط، بما في ذلك ما يلي:
- ويمكن أن يختلف عدد عمليات التتبّع عن عدد المرات التي تم فيها تنفيذ جزء من الرمز.
- قد تحتوي كل آثار مرتبطة بشكل وثيق في التعليمة البرمجية على عدد مختلف من العينات.
ماذا حدث لعلامة تبويب المشاكل في وحدة التحكّم؟
لقد استبدلنا علامة التبويب "المشاكل" بميزة "التنبيهات" التي تُعلمك تلقائيًا عند تجاوز الحدود التي وضعتها. ولم تعُد بحاجة إلى التحقّق يدويًا من وحدة تحكُّم Firebase لتحديد حالة الحد الأدنى. وللتعرّف على مزيد من المعلومات عن "التنبيهات"، اطّلِع على إعداد تنبيهات لمشاكل الأداء.
ماذا حدث لعلامتَي التبويب على الجهاز والشبكة في وحدة التحكّم؟ كيف يمكنني عرض آثار الأنشطة التي كانت على تلك الصفحات؟
لقد أعدنا تصميم قسم "مراقبة الأداء" في وحدة تحكُّم Firebase كي تعرض علامة التبويب لوحة البيانات المقاييس الرئيسية وجميع بيانات التتبّع في مساحة واحدة. وكجزء من عملية إعادة التصميم، أزلنا صفحتَي على الجهاز والشبكة.
يحتوي جدول بيانات التتبّع في أسفل علامة التبويب لوحة البيانات على جميع المعلومات التي تعرضها علامتا التبويب على الجهاز والشبكة، ولكن مع بعض الميزات الإضافية، بما في ذلك القدرة على ترتيب عمليات التتبّع حسب النسبة المئوية للتغيير لمقياس معيّن. لعرض جميع المقاييس والبيانات لعملية تتبُّع معيّنة، انقر على اسم عملية التتبُّع في جدول بيانات التتبُّع.
يمكنك عرض عمليات التتبُّع في علامات التبويب الفرعية التالية من جدول التتبُّع:
- عمليات تتبُّع طلبات الشبكة (جاهزة أو مخصّصة) - علامة التبويب الفرعية طلبات الشبكة
- عمليات تتبُّع الرموز المخصّصة: علامة التبويب الفرعية عمليات تتبُّع الرموز المخصّصة
- عمليات تتبُّع بدء التطبيق، ومقدمة التطبيق، وتتبّع التطبيق في الخلفية - علامات التبويب الفرعية عمليات التتبُّع المخصّصة
- عمليات تتبُّع عرض الشاشة: علامة التبويب الفرعية عرض الشاشة
- عمليات تتبُّع تحميل الصفحة: علامة التبويب الفرعية تحميل الصفحة
للحصول على تفاصيل حول جدول عمليات التتبّع وعرض المقاييس والبيانات، يُرجى الانتقال إلى صفحة النظرة العامة على وحدة التحكّم (iOS+ | Android | الويب).
لماذا يختلف عدد اللقطات البطيئة والثابتة عن ما توقّعته؟
يتم احتساب إطارات العرض البطيء والإطارات الثابتة من خلال معدّل تحديث مفترض للجهاز يبلغ 60 هرتز. إذا كان معدّل تحديث الجهاز أقل من 60 هرتز، سيكون وقت عرض كل إطار أبطأ بسبب عرض عدد أقل من اللقطات في الثانية. يمكن أن تؤدي أوقات العرض الأبطأ إلى الإبلاغ عن عدد أكبر من اللقطات البطيئة أو الثابتة، لأن المزيد من اللقطات سيتم عرضها بشكل أبطأ أو سيتم تجميدها. مع ذلك، إذا كان معدّل تحديث الجهاز أعلى من 60 هرتز، سيتم عرض كل إطار بشكل أسرع. ويمكن أن يؤدي ذلك إلى عدد أقل من اللقطات البطيئة أو الثابتة التي يتم الإبلاغ عنها. هذا قيود حالية في حزمة تطوير البرامج (SDK) لمراقبة الأداء
لماذا يتعذّر عليّ رؤية عمليات تتبُّع الأجزاء؟
للاطّلاع على أداء الأجزاء بالإضافة إلى النشاط على التطبيق، تأكَّد من أنّ تطبيقك يستخدم الإصدار 20.1.0 من حزمة تطوير البرامج (SDK) لنظام التشغيل Android أو الإصدارات الأحدث. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة إضافة أداة مراقبة الأداء إلى تطبيقك.
كيف يمكنني معرفة آثار الأنشطة المرتبطة بالأجزاء والأنشطة؟
يعتمد كل جزء من عمليات تتبُّع الأنشطة على اسم الفئة كما هو محدّد في التطبيق. يحتوي كل عملية من عمليات تتبُّع الشاشة على البادئة st متبوعة باسم الفئة. من وحدة تحكم Firebase، تتم إزالة البادئة. لمزيد من المعلومات، راجِع التعرّف على بيانات أداء عرض الشاشة (تطبيقات Apple وAndroid) .
لماذا يظهر عدد أقل من عمليات تتبُّع للأجزاء مقارنةً بالتتبُّعات الأخرى؟
تتيح "مراقبة الأداء" أخذ عينات من الأحداث في جميع الأحداث التي يتم جمعها على الجهاز. تتيح لنا هذه الطريقة جمع الحد الأدنى من الأحداث المطلوبة من أجهزة المستخدمين لتوفير مقاييس الأداء.
كيف يتم إشعاري في حال حدوث مشكلة في أداء عرض تطبيقي؟
تتيح لك مراقبة الأداء إعداد تنبيهات للمقاييس التي تهمّك. بالنسبة إلى عمليات تتبُّع عرض الشاشة التي تم إنشاؤها، يمكنك إعداد التنبيهات لإعلامك عندما تتجاوز النسبة المئوية للّقطات البطيئة والثابتة الحدّ الأدنى الذي حدّدته.
أوقات التصميم التي أنشئها مرتفعة بعد تفعيل المكوّن الإضافي لنظام Gradle لتتبُّع الأداء. كيف يمكنني تحسين ذلك؟
تستخدم "مراقبة الأداء" في Android أداة قياس البايت لتقديم بعض الميزات غير الجاهزة، مثل مراقبة طلبات شبكة HTTP/S. وكجزء من عملية التحويل البرمجي، تتطلب هذه العملية التكرار عبر جميع فئات تطبيقك (بما في ذلك التبعيات) لقياس الرمز البرمجي الضروري في قياس أداء طلبات الشبكة لتطبيقك.
في ما يلي بعض المساهمين الأساسيين لزيادة وقت الإصدار:
- عدد الصفوف أو الملفات
- حجم كل فئة من هذه الفئات (سطور الرمز)
- إعدادات جهازك
- الإصدار الأولي مقابل الإصدار اللاحق (عادةً ما تكون الإصدارات اللاحقة أسرع من الإصدار الأولي)
لتحسين وقت التصميم، ننصحك بتقسيم الرمز إلى وحدات.
بدءًا من الإصدار 1.3.3 من المكوّن الإضافي "مراقبة الأداء"، ركّزنا على إجراء تحسينات كبيرة في عملية المعالجة التزايدية للإنشاءات والتخزين المؤقت لمدخلات المكتبة. لتلقي آخر التحسينات في وقت الإصدار، احرص على استخدام أحدث إصدار من المكوّن الإضافي (الإصدار 1.4.2).
تجدر الإشارة إلى أنّه يمكنك إيقاف المكوّن الإضافي "مراقبة الأداء" في إصدارات تصحيح الأخطاء على الجهاز إذا أردت تجنُّب استغراق وقت طويل في عملية التحديث. مع ذلك، لا يُنصح باستخدام هذا الأسلوب مع الإصدارات المخصّصة للإصدار العلني، لأنّه قد يؤدي إلى فقدان قياسات الأداء لطلبات الشبكة في تطبيقك.
ماذا أفعل إذا ظهرت لي أخطاء في الإصدار بسبب مكتبات غير متوافقة مع المكوّن الإضافي Performance Monitoring Gradle؟
تستخدم "مراقبة الأداء" في Android أداة قياس البايت لتقديم بعض الميزات غير الجاهزة، مثل مراقبة طلبات شبكة HTTP/S. وكجزء من عملية التحويل البرمجي، تتطلب هذه العملية التكرار عبر جميع فئات تطبيقك (بما في ذلك التبعيات) لقياس الرمز البرمجي الضروري في قياس أداء طلبات الشبكة لتطبيقك.
إذا ظهرت أخطاء في الإصدار مثل JSR/RET are not supported with
computeFrames option
أو أخطاء مشابهة بعد الدمج مع المكوّن الإضافي "مراقبة الأداء"، قد يعود ذلك إلى أنّ لديك أيضًا مكتبة تعتمد على مكتبة غير متوافقة مع المكوّن الإضافي "مراقبة الأداء على Gradle".
لتفادي ذلك، يمكنك استبعاد الفئات/المكتبات غير المتوافقة من الاستخدام عن طريق اتباع الخطوات التالية:
- يُرجى التحديث إلى آخر إصدار من المكوّن الإضافي لميزة "مراقبة الأداء" (الإصدار 1.4.0 كحد أدنى).
- حدِّث إصدار المكوّن الإضافي لنظام Gradle المتوافق مع Android إلى الإصدار 7.2.0 أو إصدار أحدث.
- أضِف العلامة التالية إلى ملف
build.gradle
للوحدة (على مستوى التطبيق) لاستبعاد الفئات/المكتبات غير المتوافقة من قياسها:android { // ... androidComponents { onVariants(selector().all(), { instrumentation.excludes.add("example.incompatible.library") }) } }
لمزيد من المعلومات عن السمةexclude
الخاصة بواجهة برمجة التطبيقاتInstrumentation
الخاصة بالمكوّن الإضافي لنظام Gradle المتوافق مع Android، يمكنك الاطّلاع على الأداة.
يُرجى الإبلاغ عن مشكلة في GitHub عندما تواجه أخطاء في الإصدار بسبب مكتبات غير متوافقة كي يمكن أيضًا استبعادها من قياسها في المكوّن الإضافي "مراقبة الأداء".
يستغرق تصدير بيانات "مراقبة الأداء" إلى BigQuery وقتًا أطول من المتوقَّع. أليس في الوقت الفعلي؟
إذا كنت قد فعَّلت دمج BigQuery لميزة "مراقبة أداء Firebase"، سيتم تصدير بياناتك إلى BigQuery بعد 12 إلى 24 ساعة من نهاية اليوم (بتوقيت المحيط الهادئ).
على سبيل المثال، ستكون بيانات 19 نيسان (أبريل) متاحة في BigQuery في 20 نيسان (أبريل) بين الساعة 12:00 ظهرًا وفي منتصف الليل (جميع التواريخ والأوقات هي بتوقيت المحيط الهادئ).
معالجة البيانات في الوقت الفعلي تقريبًا وعرضها
ما معنى بيانات الأداء "في الوقت الفعلي تقريبًا"؟
تجمع ميزة "مراقبة أداء Firebase" بيانات الأداء فور ورودها، ما يؤدي إلى عرض البيانات في الوقت الفعلي تقريبًا في وحدة تحكُّم Firebase. يتم عرض البيانات التي تمت معالجتها في وحدة التحكم خلال بضع دقائق من جمعها، ومن هنا تأتي عبارة "في الوقت الفعلي تقريبًا".
للاستفادة من معالجة البيانات في الوقت الفعلي تقريبًا، تأكَّد من أنّ تطبيقك يستخدم إصدارًا متوافقًا من حزمة تطوير البرامج (SDK) في الوقت الفعلي.
كيف يمكنني الحصول على بيانات أداء تطبيقي في الوقت الفعلي تقريبًا؟
للاستفادة من معالجة البيانات في الوقت الفعلي تقريبًا، ما عليك سوى التأكّد من أنّ تطبيقك يستخدم إصدار حزمة تطوير البرامج (SDK) لمراقبة الأداء المتوافق مع معالجة البيانات في الوقت الفعلي.
في ما يلي إصدارات حزمة SDK المتوافقة في الوقت الفعلي:
- iOS: الإصدار 7.3.0 أو إصدار أحدث
- tvOS: الإصدار 8.9.0 أو إصدار أحدث
- Android: الإصدار 19.0.10 أو إصدار أحدث (أو الإصدار 26.1.0 من Firebase Android BoM أو إصدار أحدث)
- الويب: الإصدار 7.14.0 أو إصدار أحدث
ننصح دائمًا باستخدام أحدث إصدار من حزمة تطوير البرامج (SDK)، إلا أنّ أي إصدار مدرَج أعلاه سيتيح لميزة "مراقبة الأداء" معالجة بياناتك في الوقت الفعلي تقريبًا.
ما هي إصدارات حزمة تطوير البرامج (SDK) لمراقبة الأداء التي تُعتبر متوافقة في الوقت الفعلي؟
في ما يلي إصدارات حزمة تطوير البرامج (SDK) المتوافقة مع معالجة البيانات في الوقت الفعلي:
- iOS: الإصدار 7.3.0 أو إصدار أحدث
- tvOS: الإصدار 8.9.0 أو إصدار أحدث
- Android: الإصدار 19.0.10 أو إصدار أحدث (أو الإصدار 26.1.0 من Firebase Android BoM أو إصدار أحدث)
- الويب: الإصدار 7.14.0 أو إصدار أحدث
ننصح دائمًا باستخدام أحدث إصدار من حزمة تطوير البرامج (SDK)، إلا أنّ أي إصدار مدرَج أعلاه سيتيح لميزة "مراقبة الأداء" معالجة بياناتك في الوقت الفعلي تقريبًا.
ماذا يحدث إذا لم أحدّث تطبيقي لاستخدام إصدار حزمة SDK متوافق في الوقت الفعلي؟
إذا لم يكن تطبيقك يستخدم إصدارًا متوافقًا من حزمة SDK في الوقت الفعلي، سيظل بإمكانك الاطّلاع على جميع بيانات أداء تطبيقك في "وحدة تحكُّم Firebase". ومع ذلك، سيتأخر عرض بيانات الأداء بحوالي 36 ساعة من وقت جمعها.
تم التحديث إلى إصدار متوافق مع حزمة تطوير البرامج (SDK) في الوقت الفعلي، لكن بعض المستخدمين لا يزالون يستخدمون الإصدارات القديمة من تطبيقي. هل أستمر في الاطّلاع على بيانات الأداء الخاصة بهم في وحدة تحكُّم Firebase؟
نعم. بغض النظر عن إصدار حزمة تطوير البرامج (SDK) الذي يستخدمه مثيل التطبيق، سترى بيانات الأداء الخاصة بجميع المستخدمين.
مع ذلك، إذا كنت تعرض البيانات الحديثة (التي مرّ عليها أقل من 36 ساعة تقريبًا)، تكون البيانات المعروضة خاصة بمستخدمي مثيلات التطبيق التي تستخدم إصدارًا متوافقًا في الوقت الفعلي من حزمة تطوير البرامج (SDK). ومع ذلك، تتضمّن البيانات غير الحديثة بيانات الأداء من جميع إصدارات تطبيقك.
التواصل مع فريق دعم Firebase
في حال التواصل مع فريق دعم Firebase، عليك دائمًا تضمين رقم تعريف التطبيق في Firebase. ابحث عن رقم تعريف تطبيق Firebase في بطاقة تطبيقاتك في settings إعدادات المشروع.