إذا كنت تبدأ باستخدام ميزة "مراقبة الأداء"
(iOS+ |
Android |
الويب)، يمكن أن تساعدك النصائح التالية لتحديد المشاكل وحلّها في ما يتعلّق بالمشاكل التي تتضمّن رصد Firebase لحزمة تطوير البرامج (SDK) أو عرض
بيانات الأداء الأولى في وحدة تحكُّم Firebase.
تمت إضافة حزمة SDK إلى التطبيق، ولكن وحدة التحكّم
ما زالت تطلب إضافة حزمة SDK
يمكن لـ Firebase اكتشاف ما إذا كنت قد أضفت حزمة SDK لمراقبة الأداء بنجاح إلى تطبيقك
عندما يتلقّى معلومات الأحداث (مثل التفاعلات مع التطبيق) من تطبيقك.
خلال 10 دقائق عادةً من بدء تشغيل التطبيق، تعرض لوحة بيانات
الأداء
لوحدة تحكُّم Firebase رسالة "تم رصد حزمة تطوير برامج (SDK)". بعد ذلك، في غضون 30 دقيقة، تعرض
لوحة المعلومات البيانات الأولية التي تمت معالجتها.
إذا مرّ أكثر من 10 دقائق على إضافة أحدث إصدار من حزمة تطوير البرامج (SDK) إلى تطبيقك، ولم يظهر أي تغيير بعد، راجِع رسائل السجلّ للتأكّد من أنّ "مراقبة الأداء" تسجِّل الأحداث. يُرجى تجربة الخطوات المناسبة لتحديد المشاكل وحلّها كما هو موضّح أدناه،
وتحديد وحلّ المشاكل المتعلّقة بتعذّر إرسال رسالة رصد حزمة تطوير البرامج (SDK) المتأخّرة.
يسجِّل التطبيق الأحداث: خطوات تحديد المشاكل وحلّها
إذا كنت لا تزال تطوِّر محليًا، حاوِل إنشاء المزيد من الأحداث
لجمع البيانات:
واصِل تطوير تطبيقك باستخدام محاكي أو جهاز اختبار.
يمكنك إنشاء أحداث بتبديل حالة تطبيقك بين الخلفية والمقدمة
عدة مرات، أو التفاعل مع التطبيق من خلال التنقُّل بين الشاشات،
و/أو إرسال طلبات عبر الشبكة.
يُرجى التأكّد من إضافة ملف إعداد Firebase (Google-Service-Info.plist) إلى تطبيقك بشكل صحيح ومن عدم تعديل الملف.
على وجه التحديد، تحقق مما يلي:
لا يتم إلحاق اسم ملف الإعداد بأحرف إضافية، مثل
(2).
يوجد ملف الإعداد في جذر مشروع XCode ومضاف إلى الأهداف الصحيحة.
رقم تعريف تطبيق Firebase Apple (GOOGLE_APP_ID) المُدرَج في ملف الإعداد هو
صحيح لتطبيقك. يمكنك العثور على رقم تعريف تطبيق Firebase في بطاقة تطبيقاتك
ضمن settingsإعدادات
مشروع.
إذا كان هناك أي خطأ يبدو في ملف الإعداد في تطبيقك، جرِّب ما يلي:
احذف ملف الإعداد المتوفّر حاليًا في تطبيقك.
اتبع هذه التعليمات لتنزيل
ملف إعداد جديد وإضافته إلى تطبيق Apple.
إذا كانت حزمة SDK تسجِّل الأحداث ويبدو أنّه تم إعداد كل شيء بشكلٍ صحيح،
ولكن لم تظهر لك رسالة رصد حزمة تطوير البرامج (SDK) أو البيانات التي تمت معالجتها
(بعد ساعتين)، يُرجى التواصل مع فريق دعم Firebase.
لا يسجِّل التطبيق الأحداث:
خطوات تحديد المشاكل وحلّها
تشير وحدة التحكّم إلى أنّه تم رصد حزمة تطوير البرامج (SDK)،
ولكن لا يتم عرض أي بيانات
تعالج ميزة "مراقبة الأداء" بيانات أحداث الأداء قبل عرضها في
لوحة بيانات الأداء.
إذا مرّ أكثر من 24 ساعة على ظهور رسالة "تم رصد حزمة تطوير البرامج (SDK)" ولم تظهر لك البيانات بعد، يُرجى التحقّق من لوحة البيانات الخاصة بحالة Firebase في حال حدوث انقطاع معروف في الخدمة. وفي حال عدم حدوث أي انقطاع في الخدمة،
يُرجى التواصل مع فريق دعم Firebase.
الإجراءات العامّة لتحديد المشاكل وحلّها
إذا أضفت حزمة تطوير البرامج (SDK) بنجاح وتستخدم ميزة "مراقبة الأداء" في تطبيقك، يمكن أن تساعدك النصائح التالية لتحديد المشاكل وحلّها في ما يتعلّق بالمشاكل العامة التي تشمل ميزات وأدوات "مراقبة الأداء".
لا تتضمّن لوحة بيانات الأداء
بيانات تتبُّع الشاشة.
إذا كانت بيانات تتبُّع عرض الشاشة غير متوفّرة، جرِّب الخطوات التالية لتحديد المشاكل وحلّها:
لا تتضمّن لوحة بيانات الأداء
بيانات تتبُّع مخصّصة.
هل تظهر لك بيانات الأداء لعمليات التتبّع المجمَّعة تلقائيًا ولكن ليس لعمليات تتبُّع الرموز المخصّصة؟ يُرجى اتّباع الخطوات التالية لتحديد المشاكل وحلّها:
تحقَّق من إعداد عمليات تتبُّع الرموز المخصّصة التي يتم قياسها من خلال Trace API، وخاصةً ما يلي:
يجب أن تستوفي أسماء عمليات تتبُّع الرموز المخصّصة والمقاييس المخصّصة المتطلبات التالية: عدم استخدام مسافات بيضاء بادئة أو لاحقة، وعدم استخدام شرطة سفلية
بادئة (_)، ويجب ألا يزيد عدد الأحرف عن 32 حرفًا.
يجب بدء جميع آثار الأنشطة وإيقافها. ولن يتم تسجيل أي عملية تتبُّع لم يتم بدؤها أو لم يتم إيقافها أو إيقافها قبل بدئه.
تحقَّق من رسائل السجلّ للتأكّد من أنّ "أداة مراقبة الأداء" تسجِّل عمليات تتبُّع الرمز المخصَّصة المتوقّعة.
إذا كانت "مراقبة الأداء" تسجِّل الأحداث، ولكن لا يتم عرض أي بيانات بعد 24 ساعة، يمكنك
التواصل مع فريق دعم Firebase.
لا تتضمّن لوحة بيانات الأداء
بيانات طلبات الشبكة
إذا لم تتوفّر بيانات طلبات الشبكة، جرِّب الخطوات التالية لتحديد المشاكل وحلّها:
استنادًا إلى سلوك الرمز البرمجي ومكتبات الشبكات التي يستخدمها الرمز، قد تقدِّم ميزة "مراقبة الأداء" تقارير فقط حول طلبات الشبكة التي تم إكمالها. وهذا يعني أنه قد لا يتم الإبلاغ عن اتصالات HTTP/S التي تُترك مفتوحة.
لا تُبلغ ميزة "مراقبة الأداء" عن طلبات الشبكة التي تتضمّن
عناوين Content-Type غير صالحة. ومع ذلك، سنواصل قبول طلبات الشبكة التي لا تتضمّن عناوين
Content-Type.
لا يتم تجميع بيانات طلبات الشبكة على النحو المتوقّع
ماذا حدث لأهم المشاكل في بطاقة الأداء في صفحة المشروع الرئيسية؟
استبدلنا أهم المشاكل بـ التنبيهات الأخيرة كمتابعة لمقدمةنا الأخيرة للتنبيهات التي تُعلمك تلقائيًا عند تجاوز الحدود التي وضعتها. تم إيقاف المشاكل نهائيًا
واستبدالها بالتنبيهات.
تعمل أداة اختيار التطبيقات أعلى بطاقة الأداء على فلترة إدخالات
التنبيهات ضمن التنبيهات الأخيرة. يتم فقط عرض أحدث ثلاثة تنبيهات للتطبيقات المحددة.
ماذا حدث لإمكانية وضع حدود للمشكلات في وحدة التحكم؟
تتيح "مراقبة الأداء" استخدام التنبيهات للمقاييس التي تتجاوز الحدود المحددة. ولتجنّب الالتباس مع هذه الحدود القابلة للضبط
لمقاييس الأداء، أزلنا إمكانية ضبط الحدود
للمشاكل.
ماذا حدث لمعلومات "التفاصيل والمقاييس" في وحدة تحكُّم Firebase؟
لقد استبدلنا صفحتَي "التفاصيل والمقاييس" بواجهة مستخدم مركزية أُعيد تصميمها حديثًا لتحسين طريقة تحديد المشاكل وحلّها. توفّر واجهة المستخدم الجديدة لتحديد المشاكل وحلّها الوظائف الأساسية نفسها التي توفّرها قسم "التفاصيل" و"المقاييس". للتعرُّف على المزيد من المعلومات عن تحديد المشاكل وحلّها، يُرجى الاطّلاع على
عرض المزيد من البيانات الخاصة بتتبُّع معيّن.
لماذا عدد العينات ليس كما أتوقع؟
تجمع ميزة "مراقبة الأداء" بيانات الأداء من أجهزة المستخدمين في تطبيقك. إذا كان تطبيقك يتضمّن العديد من المستخدمين أو إذا كان التطبيق يُنشئ قدرًا كبيرًا من نشاط الأداء، قد تقصر ميزة "مراقبة الأداء" عملية جمع البيانات على مجموعة فرعية من الأجهزة لتقليل عدد الأحداث التي تتم معالجتها. هذه الحدود مرتفعة بدرجة كافية بحيث تظل قيم المقاييس تمثّل تجربة المستخدم في التطبيق،
حتى مع عدد أقل من الأحداث.
لإدارة حجم البيانات التي نجمعها، تستخدم ميزة "مراقبة الأداء" الخيارات التالية لجمع العيّنات:
الحدّ من معدّل الزحف على الجهاز فقط: لمنع جهاز من إرسال مجموعات تتبُّع مفاجئة
للرموز البرمجية، نحدّ من عدد عمليات تتبُّع طلبات الشبكة التي يتم إرسالها من
الجهاز إلى 300 حدث كل 10 دقائق. ويحمي هذا الأسلوب الجهاز من الأدوات الحلقة التي يمكنها إرسال كميات كبيرة من بيانات الأداء، كما تمنع جهازًا واحدًا من تغيير قياسات الأداء.
أخذ العينات الديناميكي: تجمع ميزة "مراقبة الأداء" حدًّا أقصى يبلغ 100 مليون حدث لعمليات تتبُّع الرمز البرمجي و100 مليون عملية تتبُّع طلبات الشبكة لكل تطبيق يوميًا، وذلك لجميع مستخدمي التطبيق. يتم استرجاع معدّل أخذ العينات الديناميكي على الأجهزة (باستخدام ميزة "الإعداد عن بُعد في Firebase") لتحديد ما إذا كان يجب التقاط بيانات عمليات التتبُّع في جهاز عشوائي وإرسالها. لا يرسل الجهاز الذي لم يتم تحديده لجمع العيّنات
أي أحداث. ويكون معدل أخذ العينات الديناميكي مرتبطًا بالتطبيق، ويتم ضبطه لضمان بقاء الحجم الإجمالي للبيانات التي يتم جمعها أقل من الحد المسموح به.
تُرسِل جلسات المستخدمين بيانات إضافية ومفصّلة من جهاز المستخدم، ما يتطلب المزيد من الموارد لتسجيل البيانات وإرسالها. للحدّ من تأثير جلسات المستخدمين، قد تعمل "مراقبة الأداء" أيضًا على الحدّ من عدد الجلسات
تحديد معدّل البيانات من جهة الخادم: لضمان عدم تجاوز التطبيقات الحدّ الأقصى لأخذ العيّنات، قد تستخدم "مراقبة الأداء" طريقة أخذ العيّنات من جهة الخادم لحذف بعض الأحداث
التي يتم تلقّيها من الأجهزة. على الرغم من أن هذا النوع من التقييد لا يغير فعالية المقاييس، إلا أنه قد يتسبب في حدوث تغيُّرات طفيفة في النمط، بما في ذلك ما يلي:
ويمكن أن يختلف عدد عمليات التتبّع عن عدد المرات التي تم فيها تنفيذ جزء من الرمز.
قد تحتوي كل آثار مرتبطة بشكل وثيق في التعليمة البرمجية على عدد مختلف من العينات.
ماذا حدث لعلامة تبويب المشاكل في وحدة التحكّم؟
لقد استبدلنا علامة التبويب "المشاكل" بميزة "التنبيهات" التي
تُعلمك تلقائيًا عند تجاوز الحدود التي وضعتها. ولم تعُد بحاجة
إلى التحقّق يدويًا من وحدة تحكُّم Firebase لتحديد حالة
الحد الأدنى. وللتعرّف على مزيد من المعلومات عن "التنبيهات"، اطّلِع على إعداد تنبيهات لمشاكل الأداء.
ماذا حدث لعلامتَي التبويب على الجهاز والشبكة في وحدة التحكّم؟
كيف يمكنني عرض آثار الأنشطة التي كانت على تلك الصفحات؟
لقد أعدنا تصميم قسم "مراقبة الأداء" في وحدة تحكُّم Firebase كي تعرض علامة التبويب
لوحة البيانات المقاييس الرئيسية وجميع بيانات التتبّع في مساحة واحدة. وكجزء من عملية إعادة التصميم، أزلنا صفحتَي على الجهاز والشبكة.
يحتوي جدول بيانات التتبّع في أسفل علامة التبويب لوحة البيانات على جميع المعلومات التي تعرضها علامتا التبويب على الجهاز والشبكة، ولكن مع بعض الميزات الإضافية، بما في ذلك القدرة على ترتيب عمليات التتبّع حسب النسبة المئوية للتغيير لمقياس معيّن. لعرض جميع المقاييس والبيانات لعملية تتبُّع معيّنة،
انقر على اسم عملية التتبُّع في جدول بيانات التتبُّع.
يمكنك عرض عمليات التتبُّع في علامات التبويب الفرعية التالية من جدول التتبُّع:
عمليات تتبُّع طلبات الشبكة (جاهزة أو مخصّصة) - علامة التبويب الفرعية طلبات الشبكة
عمليات تتبُّع الرموز المخصّصة: علامة التبويب الفرعية عمليات تتبُّع الرموز المخصّصة
عمليات تتبُّع بدء التطبيق، ومقدمة التطبيق، وتتبّع التطبيق في الخلفية - علامات التبويب الفرعية عمليات التتبُّع المخصّصة
عمليات تتبُّع عرض الشاشة: علامة التبويب الفرعية عرض الشاشة
عمليات تتبُّع تحميل الصفحة: علامة التبويب الفرعية تحميل الصفحة
للحصول على تفاصيل حول جدول عمليات التتبّع وعرض المقاييس والبيانات، يُرجى الانتقال إلى صفحة النظرة العامة على وحدة التحكّم
(iOS+ |
Android |
الويب).
لماذا يختلف عدد اللقطات البطيئة والثابتة عن ما توقّعته؟
يتم احتساب إطارات العرض البطيء والإطارات الثابتة من خلال معدّل تحديث مفترض للجهاز يبلغ 60 هرتز. إذا كان معدّل تحديث الجهاز أقل من 60 هرتز، سيكون وقت عرض كل
إطار أبطأ بسبب عرض عدد أقل من اللقطات في الثانية.
يمكن أن تؤدي أوقات العرض الأبطأ إلى الإبلاغ عن عدد أكبر من اللقطات البطيئة أو الثابتة،
لأن المزيد من اللقطات سيتم عرضها بشكل أبطأ أو سيتم تجميدها. مع ذلك، إذا كان معدّل تحديث الجهاز أعلى من 60 هرتز، سيتم عرض كل إطار بشكل أسرع.
ويمكن أن يؤدي ذلك إلى عدد أقل من اللقطات البطيئة أو الثابتة التي يتم الإبلاغ عنها. هذا قيود حالية في حزمة تطوير البرامج (SDK)
لمراقبة الأداء
يستغرق تصدير بيانات "مراقبة الأداء" إلى BigQuery وقتًا أطول من المتوقَّع. أليس في الوقت الفعلي؟
إذا كنت قد فعَّلت دمج BigQuery لميزة "مراقبة أداء Firebase"، سيتم تصدير بياناتك إلى BigQuery بعد 12 إلى 24 ساعة من نهاية اليوم (بتوقيت المحيط الهادئ).
على سبيل المثال، ستكون بيانات 19 نيسان (أبريل) متاحة في BigQuery في 20 نيسان (أبريل)
بين الساعة 12:00 ظهرًا وفي منتصف الليل (جميع التواريخ والأوقات هي بتوقيت المحيط الهادئ).
معالجة البيانات في الوقت الفعلي تقريبًا وعرضها
ما معنى بيانات الأداء "في الوقت الفعلي تقريبًا"؟
تجمع ميزة "مراقبة أداء Firebase" بيانات الأداء فور ورودها، ما يؤدي إلى عرض البيانات في الوقت الفعلي تقريبًا في وحدة تحكُّم Firebase. يتم عرض البيانات التي تمت
معالجتها في وحدة التحكم خلال بضع دقائق من جمعها، ومن هنا تأتي عبارة "في الوقت الفعلي تقريبًا".
كيف يمكنني الحصول على بيانات أداء تطبيقي في الوقت الفعلي تقريبًا؟
للاستفادة من معالجة البيانات في الوقت الفعلي تقريبًا، ما عليك سوى التأكّد من أنّ تطبيقك يستخدم إصدار حزمة تطوير البرامج (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). ومع ذلك، تتضمّن البيانات غير الحديثة بيانات الأداء
من جميع إصدارات تطبيقك.