تقدّم هذه الصفحة نصائح لتحديد المشاكل وحلّها من أجل بدء استخدام 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 في Play Console
يمكن أن يرصد Firebase ما إذا كنت قد أضفت حزمة تطوير البرامج (SDK) Performance Monitoring إلى تطبيقك بنجاح عندما يتلقّى معلومات الأحداث (مثل تفاعلات التطبيق) من تطبيقك. في غضون 10 دقائق من بدء تشغيل تطبيقك، ستعرض لوحة بيانات Firebase رسالة "تم رصد حزمة تطوير البرامج (SDK)". بعد ذلك، يعرض لوحة البيانات البيانات الأولية التي تمت معالجتها في غضون 30 دقيقة.
إذا مرّ أكثر من 10 دقائق على إضافة أحدث إصدار من حزمة SDK إلى تطبيقك، ولم يطرأ أي تغيير، يُرجى التحقّق من رسائل السجلّ للتأكّد من أنّ Performance Monitoring يسجّل الأحداث. جرِّب خطوات تحديد المشاكل وحلّها المناسبة كما هو موضّح أدناه لتحديد المشاكل وحلّها في رسالة تأخُّر رصد حزمة SDK.
تسجيل التطبيق للأحداث: خطوات تحديد المشاكل وحلّها
تأكَّد من استخدام الإصدار 19.1.0 أو إصدار أحدث من Performance Monitoring حزمة تطوير البرامج (SDK) لنظام التشغيل Android (أو Firebase BoM الإصدار 26.3.0 أو إصدار أحدث)، راجِع ملاحظات الإصدار.
إذا كنت لا تزال في مرحلة التطوير على جهازك، حاوِل إنشاء المزيد من الأحداث لجمع البيانات:
- يمكنك إنشاء أحداث من خلال التبديل بين تشغيل تطبيقك في الخلفية وفي المقدّمة عدة مرات، والتفاعل مع تطبيقك من خلال التنقّل بين الشاشات، و/أو تشغيل طلبات الشبكة.
تأكَّد من أنّه تمّت إضافة ملف إعداد Firebase (
google-services.json) بشكل صحيح إلى تطبيقك وأنّك لم تعدّل الملف. على وجه التحديد، تحقَّق مما يلي:لا تتم إضافة أحرف إضافية إلى اسم ملف الإعداد، مثل
(2).يوجد ملف الإعداد في دليل الوحدة (على مستوى التطبيق) الخاص بتطبيقك.
أنّ رقم تعريف تطبيق Android على Firebase (
mobilesdk_app_id) المُدرَج في ملف الإعداد صحيح لتطبيقك. يمكنك العثور على رقم تعريف تطبيقك على Firebase في بطاقة تطبيقاتك ضمن settings إعدادات المشروع.
إذا بدا أنّ هناك مشكلة في ملف الإعداد في تطبيقك، جرِّب ما يلي:
احذف ملف الإعداد المتوفّر حاليًا في تطبيقك.
اتّبِع هذه التعليمات لتنزيل ملف إعداد جديد وإضافته إلى تطبيق Android.
إذا كانت حزمة تطوير البرامج (SDK) تسجّل الأحداث ويبدو أنّ كل شيء تم إعداده بشكل صحيح، ولكنّك لا تزال لا ترى رسالة رصد حزمة تطوير البرامج (SDK) أو البيانات المعالَجة (بعد 10 دقائق)، يُرجى التواصل مع فريق دعم Firebase.
إذا كان التطبيق لا يسجّل الأحداث: خطوات تحديد المشاكل وحلّها
تحقَّق من إعداد المكوّن الإضافي 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.gradlefirebasePerformanceInstrumentationEnabledفي ملفgradle.properties
تأكَّد من Performance Monitoring عدم إيقاف حزمة تطوير البرامج (SDK) من خلال أي من العلامتَين التاليتَين في ملف
AndroidManifest.xml:firebase_performance_collection_enabledfirebase_performance_collection_deactivated
تأكَّد من أنّ Performance Monitoring غير مفعّل في وقت التشغيل.
إذا لم تتمكّن من العثور على أي ميزة تم إيقافها في تطبيقك، يُرجى التواصل مع فريق دعم Firebase.
تُشير الأداة إلى أنّه تم رصد حزمة SDK، ولكن لا يتم عرض أي بيانات
تعالج Performance Monitoring بيانات أحداث الأداء قبل عرضها في لوحة بيانات الأداء.
إذا مرّ أكثر من 24 ساعة على ظهور الرسالة "تم رصد حزمة SDK"، ولم تظهر لك البيانات بعد، راجِع لوحة بيانات حالة Firebase للتأكّد من عدم حدوث انقطاع معروف في الخدمة. إذا لم يكن هناك انقطاع، يُرجى التواصل مع فريق دعم Firebase.
الإجراءات العامّة لتحديد المشاكل وحلّها
إذا أضفت حزمة SDK بنجاح وكنت تستخدم Performance Monitoring في تطبيقك، يمكن أن تساعدك نصائح تحديد المشاكل وحلّها التالية في معالجة المشاكل العامة التي تتضمّن ميزات وأدوات Performance Monitoring.
لا يسجِّل التطبيق أحداث الأداء
إذا لم تظهر لك رسائل السجلّ لأحداث الأداء، جرِّب الخطوات التالية لتحديد المشاكل وحلّها:
تحقَّق من إعداد المكوّن الإضافي 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.gradlefirebasePerformanceInstrumentationEnabledفي ملفgradle.properties
تأكَّد من أنّ حزمة تطوير البرامج (SDK) الخاصة بـ Performance Monitoring غير مفعَّلة من خلال أيّ من العلامتَين التاليتَين في ملف
AndroidManifest.xml:firebase_performance_collection_enabledfirebase_performance_collection_deactivated
تأكَّد من أنّ Performance Monitoring غير مفعّل في وقت التشغيل.
إذا لم تتمكّن من العثور على أي ميزة تم إيقافها في تطبيقك، يُرجى التواصل مع فريق دعم Firebase.
لوحة بيانات الأداء لا تتضمّن بيانات تتبُّع الشاشة
إذا كانت بيانات تتبُّع عرض الشاشة غير متوفّرة، جرِّب الخطوات التالية لتحديد المشاكل وحلّها:
تأكَّد من استخدام أحدث إصدار من حزمة تطوير البرامج (SDK) لنظام التشغيل Android (الإصدار 22.0.6). لا تتوفّر عمليات تتبُّع عرض الشاشة إلا مع الإصدار 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.gradlefirebasePerformanceInstrumentationEnabledفي ملف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.gradlefirebasePerformanceInstrumentationEnabledفي ملف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.
لتجنُّب ذلك، يمكنك استبعاد الفئات/المكتبات غير المتوافقة من عملية تسجيل البيانات باتّباع الخطوات التالية:
- حدِّث إلى أحدث إصدار من المكوّن الإضافي Performance Monitoring 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 عند مواجهة أخطاء في الإصدار بسبب مكتبات غير متوافقة، وذلك حتى يمكن استبعادها أيضًا من عملية تتبُّع الأداء في المكوّن الإضافي 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 أو إصدار أحدث (أو Firebase Android BoM الإصدار 26.1.0 أو إصدار أحدث)
- الويب: الإصدار 7.14.0 أو إصدار أحدث
يُرجى العِلم أنّنا ننصح دائمًا باستخدام أحدث إصدار من حزمة SDK، ولكن أي إصدار مُدرَج أعلاه سيتيح لخدمة Performance Monitoring معالجة بياناتك في الوقت الفعلي تقريبًا.
ما هي إصدارات حزمة تطوير البرامج (SDK) Performance Monitoring التي تُعتبر متوافقة مع ميزة "الوقت الفعلي"؟
في ما يلي إصدارات حزمة تطوير البرامج (SDK) المتوافقة مع معالجة البيانات في الوقت الفعلي:
- iOS: الإصدار 7.3.0 أو إصدار أحدث
- tvOS: الإصدار 8.9.0 أو إصدار أحدث
- Android: الإصدار 19.0.10 أو إصدار أحدث (أو Firebase Android BoM الإصدار 26.1.0 أو إصدار أحدث)
- الويب: الإصدار 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 أو إصدار أحدث (أو Firebase Android BoM الإصدار 26.1.0 أو إصدار أحدث)
- الويب: الإصدار 7.14.0 أو إصدار أحدث
يُرجى العِلم أنّنا ننصح دائمًا باستخدام أحدث إصدار من حزمة SDK، ولكن أي إصدار مُدرَج أعلاه سيتيح لخدمة Performance Monitoring معالجة بياناتك في الوقت الفعلي تقريبًا.
التواصل مع فريق دعم Firebase
إذا تواصلت مع فريق دعم Firebase، احرص دائمًا على تضمين معرّف تطبيقك على Firebase. ابحث عن رقم تعريف تطبيقك على Firebase في بطاقة تطبيقاتك ضمن settings إعدادات المشروع.