يُرجى الانتقال إلى
لوحة بيانات حالة Firebase في حال
حدوث انقطاع معروف في الخدمة في Firebase أو في Performance Monitoring.
بدء استخدام Performance Monitoring
إذا كنت بصدد بدء استخدام Performance Monitoring
(iOS والإصدارات الأحدث |
Android |
الويب)، يمكن أن تساعدك الخطوات التالية المتعلّقة بتحديد المشاكل وحلّها في حلّ المشاكل المتعلّقة برصد Firebase لحزمة SDK أو عرض
بيانات الأداء الأولى في وحدة تحكّم Firebase.
Added the SDK to app, but console
still says to add SDK
يمكن لمنصّة Firebase رصد ما إذا كنت قد أضفت حزمة تطوير البرامج (SDK) لنظام التشغيل Performance Monitoring إلى تطبيقك بنجاح، وذلك عند تلقّيها معلومات عن الأحداث (مثل التفاعلات مع التطبيق) من تطبيقك.
وعادةً ما تظهر رسالة "تم رصد حزمة SDK" في لوحة بيانات الأداء
لوحة تحكّم Firebase خلال 10 دقائق من بدء تشغيل تطبيقك. بعد ذلك، في غضون 30
دقيقة، تعرض لوحة البيانات البيانات الأولية التي تمت معالجتها.
إذا مرّ أكثر من 10 دقائق على إضافة أحدث إصدار من حزمة تطوير البرامج (SDK) إلى
تطبيقك، ولم يظهر أي تغيير بعد، يمكنك الاطّلاع على رسائل logging للتأكّد من أنّ Performance Monitoring يسجّل
الأحداث. جرِّب خطوات تحديد المشاكل وحلّها المناسبة كما هو موضّح أدناه لمحاولة
تحديد المشاكل المتعلّقة بتأخُّر ظهور رسالة رصد حزمة SDK وحلّها.
التطبيق يسجِّل الأحداث: خطوات تحديد المشاكل وحلّها
إذا كنت لا تزال في مرحلة التطوير على الجهاز، جرِّب إنشاء المزيد من الأحداث لجمع data:
مواصلة تطوير تطبيقك باستخدام جهاز محاكاة أو جهاز اختباري
إنشاء أحداث من خلال تبديل تطبيقك بين المقدّمة والخلفية
عدة مرات، والتفاعل مع تطبيقك من خلال التنقّل بين الشاشات،
و/أو بدء طلبات الشبكة
تأكَّد من أنّه تمت إضافة ملف إعدادات Firebase (Google-Service-Info.plist)
بشكل صحيح إلى تطبيقك وأنّك لم تعدِّل الملف.
وعلى وجه التحديد، يُرجى التحقّق مما يلي:
لا يتم إلحاق اسم ملف الإعدادات بأحرف إضافية، مثل
(2).
ملف الضبط متوفّر في جذر مشروع XCode ويتمّ إضافته إلى
الأهداف الصحيحة.
رقم تعريف تطبيق Apple على Firebase (GOOGLE_APP_ID) المدرَج في ملف الإعدادات هو
صحيح لتطبيقك. يمكنك العثور على رقم تعريف تطبيق Firebase في بطاقة تطبيقاتك
ضمن إعدادات
مشروعك على settings.
إذا لاحظت أي مشكلة في ملف الإعدادات في تطبيقك، جرِّب ما يلي:
حذف ملف الإعدادات الحالي في تطبيقك
اتّبِع هذه التعليمات لتنزيل
ملف إعدادات جديد وإضافته إلى تطبيقك على أجهزة Apple.
إذا كانت حزمة SDK تسجِّل الأحداث ويبدو أنّه تم إعداد كل شيء بشكل صحيح،
ولكن لا تزال رسالة رصد حزمة SDK أو البيانات التي تمت معالجتها لا تظهر
(بعد ساعتَين)، يُرجى التواصل مع فريق دعم Firebase.
عدم تسجيل التطبيق للأحداث:
خطوات تحديد المشاكل وحلّها
تشير Console إلى أنّه تم رصد حزمة SDK
، ولكن لا يتم عرض أي بيانات.
يعالج Performance Monitoring بيانات أحداث الأداء قبل عرضها في لوحة بيانات
الأداء.
إذا مرّ أكثر من 24 ساعة على ظهور رسالة "تم رصد حزمة تطوير البرامج (SDK)"،
وما زال لا تظهر لك البيانات، يُرجى التحقّق من
لوحة بيانات حالة Firebase في حال حدوث تعطُّل معروف. إذا لم يكن هناك انقطاع في الخدمة،
يُرجى التواصل مع فريق دعم Firebase.
الإجراءات العامّة لتحديد المشاكل وحلّها
إذا أضفت حزمة SDK بنجاح وكنت تستخدم Performance Monitoring في تطبيقك، يمكن أن تساعدك
نصائح تحديد المشاكل وحلّها التالية في حلّ المشاكل العامة التي تتعلّق
بميزات Performance Monitoring وأدواتها.
إذا كانت بيانات تتبُّع عرض الشاشة غير متوفّرة، جرِّب الخطوات التالية لتحديد المشاكل وحلّها:
تأكَّد من استخدام أحدث إصدار من حزمة تطوير البرامج (SDK) لمنصّات Apple
(الإصدار 11.5.0). لا تتوفّر عمليات تتبُّع عرض الشاشة إلا
مع الإصدار 5.0.0 أو الإصدارات الأحدث.
لا يُنشئ Performance Monitoring عمليات تتبُّع لعرض الشاشة في عناصر التحكّم في عرض الحاوية (مثل UINavigationController وUITabBarController). إذا كانت البيانات مفقودة لهذه الشاشات فقط، هذا السلوك المتوقّع.
لوحة بيانات الأداء
لا تتضمّن بيانات التتبّع المخصّصة
هل تظهر لك بيانات الأداء للمسارات التي يتم جمعها تلقائيًا ولكن ليس لمسار
الرموز البرمجية المخصّصة؟ يُرجى اتّباع الخطوات التالية لتحديد المشاكل وحلّها:
تحقَّق من إعداد عمليات تتبُّع الرموز المخصّصة التي تمّ إعدادها من خلال
Trace API،
ولا سيما ما يلي:
يجب أن تستوفي أسماء عمليات تتبُّع الرموز البرمجية المخصّصة والمقاييس المخصّصة
المتطلبات التالية: عدم تضمين مسافات بيضاء في بداية الاسم أو نهايته، وعدم تضمين علامة تحت خط (_) في بداية الاسم، ويجب ألا يزيد طول الاسم عن 32 حرفًا.
يجب بدء جميع عمليات التتبّع وإيقافها. ولن يتم تسجيل أيّ عملية تتبُّع لم يتم بدؤها أو
إيقافها أو إيقافها قبل بدؤها.
تحقَّق من رسائل السجلّ للتأكّد من أنّ
Performance Monitoring يسجّل عمليات تتبُّع الرموز المخصّصة المتوقّعة.
إذا كان Performance Monitoring يسجّل الأحداث، ولكن لا تظهر أي بيانات بعد 24 ساعة،
يُرجىالتواصل مع فريق دعم Firebase.
لا تتوفّر بيانات طلبات الشبكة في لوحة بيانات الأداء
إذا لم تتوفّر لديك بيانات طلب الشبكة، جرِّب الخطوات التالية لتحديد المشاكل وحلّها:
استنادًا إلى سلوك الرمز البرمجي ومكتبات الشبكات المستخدَمة في
الرمز البرمجي، قد لا يُبلغ Performance Monitoring إلا عن طلبات الشبكة التي
تم إكمالها. وهذا يعني أنّه قد لا يتم تسجيل اتصالات HTTP/S التي تبقى مفتوحة.
لا يُبلغ Performance Monitoring عن طلبات الشبكة التي تحتوي على عناوين
Content-Type غير صالحة. ومع ذلك، سيظلّ قبول طلبات الشبكة التي لا تتضمّن عناوين
Content-Type.
لا يتم تجميع بيانات طلبات الشبكة على النحو المتوقّع.
ما الذي حدث لأبرز المشاكل في بطاقة "الأداء" على صفحة المشروع الرئيسية؟
لقد استبدلنا أهمّ المشاكل بـ التنبيهات الأخيرة في إطار متابعة
الميزات التي طرحناها مؤخرًا للتنبيهات، والتي تُعلمك تلقائيًا عند تجاوز
الحدود التي تحدّدها. تم إيقاف المشاكل نهائيًا
وتم استبدالها بالتنبيهات.
تصفِّح أداة اختيار التطبيقات في أعلى بطاقة "الأداء" إدخالات التنبيهات ضمن التنبيهات الأخيرة. لا يتم عرض سوى آخر ثلاثة تنبيهات للتطبيقات التي تم اختيارها.
ما الذي حدث لإمكانية ضبط الحدود الدنيا للمشاكل في وحدة التحكّم؟
تتيح Performance Monitoringالتنبيهات للمقاييس التي تتجاوز
الحدود الدنيا المحدّدة. لتجنُّب حدوث التباس مع هذه الحدود القابلة للضبط ومقاييس الأداء، أزلنا إمكانية ضبط الحدود القصوى لالمشاكل.
ما الذي حدث لمعلومات "التفاصيل والمقاييس" في وحدة تحكّم Firebase؟
لقد استبدلنا صفحتَي "التفاصيل" و"المقاييس" بواجهة مستخدم (UI) مركزية تمت إعادة تصميمها حديثًا لتحسين طريقة تحديد المشاكل وحلّها. توفّر واجهة مستخدِم تحديد المشاكل وحلّها الجديدة هذه الوظائف الأساسية نفسها التي كانت توفّرها "التفاصيل" و"المقاييس". لمزيد من المعلومات عن تحديد المشاكل وحلّها، يُرجى الاطّلاع على مقالة عرض المزيد من البيانات لتتبُّع معيّن.
لماذا لا يكون عدد العيّنات على النحو المتوقّع؟
يجمع تطبيق Performance Monitoring بيانات الأداء من أجهزة مستخدمي تطبيقك. إذا كان
تطبيقك يضمّ العديد من المستخدمين أو إذا كان يُنشئ قدرًا كبيرًا من أنشطة
الأداء، قد يقتصر جمع البيانات على مجموعة فرعية من الأجهزة في Performance Monitoring بهدف
تقليل عدد الأحداث التي تتم معالجتها. هذه الحدود عالية بما يكفي لكي تظل قيم المقاييس تمثل
تجربة المستخدم للتطبيق، حتى مع انخفاض عدد الأحداث.
لإدارة حجم البيانات التي نجمعها، يستخدم Performance Monitoring
خيارات أخذ العينات التالية:
وضع حدود لمعدّل الإرسال على الجهاز: لمنع الجهاز من إرسال كميات مفاجئة من
عمليات التتبّع، نحدّ من عدد عمليات تتبّع الرموز البرمجية وطلبات الشبكة المُرسَلة من
الجهاز إلى 300 حدث كل 10 دقائق. تحمي هذه الطريقة الجهاز من
الأدوات المتكرّرة التي يمكنها إرسال كميات كبيرة من بيانات الأداء، و
تمنع جهازًا واحدًا من تشويه قياسات الأداء.
التحليل الديناميكي: Performance Monitoring يجمع عددًا محدودًا من عمليات تتبُّع الرموز البرمجية
وعمليات تتبُّع طلبات الشبكة لكل تطبيق يوميًا على مستوى جميع مستخدمي التطبيق. يتم جلب معدّل قياس ديناميكي
على الأجهزة (باستخدام Firebase Remote Config) لتحديد
ما إذا كان يجب على جهاز عشوائي تسجيل عمليات التتبّع وإرسالها. لا يُرسِل أي جهاز لم يتم
اختياره لتحليل عيّنات أي أحداث. يكون معدّل أخذ العينات الديناميكي متعلقًا بالتطبيق ويتم تعديله لضمان بقاء إجمالي حجم البيانات التي يتم جمعها تحت الحدّ المسموح به.
تحصل المشاريع التي فعّلت دمج BigQuery على حدّ أقصى أعلى ل
عدد عمليات تتبُّع طلبات الشبكة.
تُرسِل جلسات المستخدمين بيانات إضافية ومفصّلة من جهاز المستخدم، ما يتطلّب
مزيدًا من الموارد لتسجيل البيانات وإرسالها. للحدّ من تأثير جلسات
المستخدِمين، قد يفرض Performance Monitoring أيضًا قيودًا على عدد الجلسات.
وضع حدود للمعدل من جهة الخادم: لضمان عدم تجاوز التطبيقات حدود تحليل عيّنات الأداء، قد تستخدم Performance Monitoring تحليل عيّنات الأداء من جهة الخادم لحذف بعض الأحداث التي يتم تلقّيها من الأجهزة. على الرغم من أنّ هذا النوع من التقييد لا يغيّر فعالية مقاييسنا، إلا أنّه قد يتسبب في حدوث تغييرات طفيفة في الأنماط، بما في ذلك ما يلي:
يمكن أن يختلف عدد عمليات التتبّع عن عدد المرات التي تم فيها تنفيذ قطعة من الرمز البرمجي.
قد تحتوي كل عملية تتبُّع مرتبطة ارتباطًا وثيقًا في الرمز البرمجي على عدد مختلف من
عيّنات.
ماذا حدث لعلامة التبويب المشاكل في وحدة التحكّم؟
لقد استبدلنا علامة التبويب "المشاكل" بميزة "التنبيهات" التي تُعلمك تلقائيًا عند تجاوز الحدود التي تحدّدها. لم يعد
عليك التحقّق يدويًا من وحدة تحكّم Firebase لتحديد حالة
أحد الحدود الدنيا. للتعرّف على التنبيهات، اطّلِع على إعداد تنبيهات بشأن مشاكل الأداء.
ماذا حدث لعلامتَي التبويب على الجهاز والشبكة في وحدة التحكّم؟
كيف يمكنني عرض عمليات التتبّع التي كانت على هذه الصفحات؟
أعدنا تصميم قسم Performance Monitoring في وحدة تحكّم Firebase لكي تعرض علامة التبويب
لوحة البيانات المقاييس الرئيسية وجميع عمليات التتبّع في مساحة واحدة. في إطار عملية إعادة التصميم، أزلنا صفحتَي على الجهاز والشبكة.
يحتوي جدول عمليات التتبّع في أسفل علامة التبويب لوحة البيانات على كلّ المعلومات
نفسها التي تعرضها علامتا التبويب على الجهاز والشبكة، ولكن مع بعض
الميزات المضافة، بما في ذلك إمكانية ترتيب عمليات التتبّع حسب النسبة المئوية
للتغيير لمقياس معيّن. لعرض جميع المقاييس والبيانات المتعلّقة بمسار traced معيّن، انقر على اسم المسار في جدول المسارات.
يمكنك الاطّلاع على عمليات التتبّع في علامات التبويب الفرعية التالية من جدول عمليات التتبّع:
عمليات تتبُّع طلبات الشبكة (التلقائية والمخصّصة) - علامة التبويب الفرعية طلبات الشبكة
عمليات تتبُّع الرموز البرمجية المخصّصة: علامة التبويب الفرعية عمليات التتبُّع المخصّصة
عمليات تتبُّع بدء التطبيق والتطبيق الذي يعمل في المقدّمة والتطبيق الذي يعمل في الخلفية: علامة التبويب الفرعية عمليات التتبُّع المخصّصة
عمليات تتبُّع عرض الشاشة: علامة التبويب الفرعية عرض الشاشة
عمليات تتبُّع تحميل الصفحة - علامة التبويب الفرعية تحميل الصفحة
للاطّلاع على تفاصيل عن جدول عمليات التتبّع وعرض المقاييس والبيانات، يُرجى الانتقال إلى
صفحة النظرة العامة على وحدة التحكّم
(iOS والإصدارات الأحدث |
Android |
الويب).
لماذا لا يتطابق عدد اللقطات البطيئة والمجمّدة مع ما أتوقّعه؟
يتم احتساب اللقطات التي يتم عرضها ببطء واللقطات المتوقّفة باستخدام معدل إعادة تحميل جهاز افتراضي يبلغ 60 هرتز. إذا كان معدّل تحديث الشاشة على الجهاز أقل من 60 هرتز، سيكون وقت عرض كل لقطة
أبطأ لأنّه يتم عرض عدد أقل من اللقطات في الثانية.
يمكن أن تؤدي أوقات العرض البطيئة إلى الإبلاغ عن المزيد من اللقطات البطيئة أو المتوقّفة
لأنّ المزيد من اللقطات ستظهر بشكل أبطأ أو ستتوقّف. ومع ذلك، إذا كان معدل التحديث في الجهاز
أعلى من 60 هرتز، سيكون وقت عرض كل لقطة أسرع.
وقد يؤدي ذلك إلى الإبلاغ عن عدد أقل من اللقطات البطيئة أو المتوقّفة. هذا هو أحد الصعوبات التي تواجهك حاليًا في حزمة SDK لنظام التشغيل Performance Monitoring.
يستغرق تصدير بيانات Performance Monitoring إلى
BigQuery وقتًا أطول من المتوقّع. هل هذا ليس في الوقت الفعلي؟
إذا فعّلت عملية دمج BigQuery في Firebase Performance Monitoring، سيتم تصدير بياناتك
إلى BigQuery بعد 12 إلى 24 ساعة من نهاية اليوم (بتوقيت тихоокеанي
).
على سبيل المثال، ستتوفّر بيانات 19 نيسان (أبريل) في BigQuery في 20 نيسان (أبريل)
بين الساعة 12:00 بعد الظهر والتصفية منتصف الليل (جميع التواريخ والأوقات بالتوقيت الرسمي للمحيط الهادئ).
معالجة البيانات وعرضها في الوقت الفعلي التقريبي
ما المقصود ببيانات الأداء "القريبة من الوقت الفعلي"؟
تعالج Firebase Performance Monitoring بيانات الأداء التي يتم جمعها فور ورودها، ما يؤدي إلى عرض البيانات في وقت قريب من الوقت الفعلي في وحدة تحكّم Firebase. تظهر البيانات التي تمت معالجتها في وحدة التحكّم خلال بضع دقائق من جمعها، ومن هنا جاء المصطلح "في الوقت الفعلي التقريبي".
كيف يمكنني الحصول على بيانات الأداء في الوقت الفعلي تقريبًا لتطبيقي؟
للاستفادة من ميزة معالجة البيانات في الوقت الفعلي تقريبًا، ما عليك سوى التأكّد من أنّ تطبيقك يستخدم إصدارًا من Performance Monitoring SDK متوافقًا مع معالجة البيانات في الوقت الفعلي.
في ما يلي إصدارات حزمة 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؟
إذا كان تطبيقك لا يستخدم إصدارًا متوافقًا مع ميزة "الأداء في الوقت الفعلي"، سيظل بإمكانك الاطّلاع على
جميع بيانات أداء تطبيقك في وحدة تحكّم Firebase. ومع ذلك، سيتم تأخير عرض
بيانات الأداء لمدة 36 ساعة تقريبًا من وقت جمعها.
لقد أجريت تحديثًا إلى إصدار متوافق من حزمة SDK في الوقت الفعلي، ولكن لا يزال بعض المستخدمين يستخدمون
إصدارات قديمة من تطبيقي. هل سيستمر ظهور بيانات أدائهم
في وحدة تحكّم Firebase؟
نعم. بغض النظر عن إصدار حزمة SDK التي تستخدمها إحدى نُسخ التطبيق، ستظهر لك
بيانات الأداء من جميع المستخدمين.
ومع ذلك، إذا كنت تطّلع على بيانات حديثة (أقل من 36 ساعة تقريبًا)،
تكون البيانات المعروضة من مستخدمي نُسخ التطبيق التي تستخدم إصدارًا من حزمة SDK متوافقًا مع الوقت الفعلي. في المقابل، تتضمّن البيانات غير الحديثة بيانات الأداء
من جميع إصدارات تطبيقك.