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