توفر هذه الصفحة تلميحات حول استكشاف الأخطاء وإصلاحها للبدء في مراقبة الأداء أو استخدام ميزات وأدوات مراقبة الأداء.
يتحقق أولاً من استكشاف الأخطاء وإصلاحها
يعد الفحصان التاليان من أفضل الممارسات العامة الموصى بها لأي شخص قبل إجراء المزيد من عمليات استكشاف الأخطاء وإصلاحها.
1. تحقق من رسائل السجل لأحداث الأداء
تحقق من رسائل السجل للتأكد من أن SDK لمراقبة الأداء يلتقط أحداث الأداء.
افتح أدوات المطور في متصفحك (على سبيل المثال ، علامة تبويب الشبكة لأدوات Chrome Dev Tools أو في Network Monitor for Firefox ).
قم بتحديث تطبيق الويب الخاص بك في المتصفح.
تحقق من رسائل السجل الخاصة بك بحثًا عن أي رسائل خطأ.
بعد بضع ثوانٍ ، ابحث عن مكالمة شبكة إلى
firebaselogging.googleapis.com
في أدوات مطور المتصفح. يُظهر وجود مكالمة الشبكة هذه أن المتصفح يرسل بيانات الأداء إلى Firebase.
إذا كان تطبيقك لا يسجل أحداث الأداء ، فراجع نصائح استكشاف الأخطاء وإصلاحها .
2. تحقق من لوحة معلومات حالة Firebase
تحقق من Firebase Status Dashboard في حالة وجود انقطاع معروف لـ Firebase أو لمراقبة الأداء.
الشروع في مراقبة الأداء
إذا كنت تبدأ في مراقبة الأداء ( iOS + | Android | Web ) ، يمكن أن تساعدك نصائح استكشاف الأخطاء وإصلاحها التالية في حل المشكلات التي تتضمن اكتشاف Firebase لـ SDK أو عرض بيانات الأداء الأولى في وحدة تحكم Firebase.
يمكن أن يكتشف Firebase ما إذا كنت قد أضفت بنجاح SDK لمراقبة الأداء إلى تطبيقك عندما يتلقى معلومات عن الحدث (مثل تفاعلات التطبيق) من تطبيقك. عادةً في غضون 10 دقائق من بدء تشغيل تطبيقك ، تعرض لوحة معلومات الأداء الخاصة بوحدة تحكم Firebase رسالة "تم اكتشاف SDK". بعد ذلك ، في غضون 30 دقيقة ، تعرض لوحة المعلومات البيانات الأولية التي تمت معالجتها.
إذا مرت أكثر من 10 دقائق منذ أن أضفت أحدث إصدار من SDK إلى تطبيقك ، وما زلت لا ترى أي تغيير ، فتحقق من رسائل السجل للتأكد من أن مراقبة الأداء تسجل الأحداث. جرب خطوات استكشاف الأخطاء وإصلاحها المناسبة كما هو موضح أدناه لاستكشاف رسالة الكشف عن تأخير SDK وإصلاحها.
إذا كنت لا تزال تقوم بالتطوير محليًا ، فحاول إنشاء المزيد من الأحداث لجمع البيانات:
خدمة وعرض تطبيق الويب الخاص بك في بيئة محلية.
أنشئ الأحداث عن طريق تحميل صفحات فرعية لموقعك ، والتفاعل مع تطبيقك ، و / أو تشغيل طلبات الشبكة. تأكد من إبقاء علامة تبويب المتصفح مفتوحة لمدة 10 ثوانٍ على الأقل بعد تحميل الصفحة.
تأكد من إضافة كائن تكوين Firebase بشكل صحيح إلى تطبيقك وأنك لم تقم بتعديل الكائن. على وجه التحديد ، تحقق مما يلي:
- معرف تطبيق الويب
appId
(معرف التطبيق) في كائن التكوين صحيح لتطبيقك. ابحث عن معرّف تطبيق Firebase في بطاقة تطبيقاتك من المشروع .
إذا بدا أي خطأ في كائن التكوين في تطبيقك ، فجرّب ما يلي:
احذف كائن التكوين الموجود لديك حاليًا في تطبيقك.
اتبع هذه التعليمات للحصول على كائن تكوين جديد وإضافته إلى تطبيق الويب الخاص بك.
- معرف تطبيق الويب
إذا كانت SDK تسجل الأحداث ويبدو أن كل شيء قد تم إعداده بشكل صحيح ، ولكنك ما زلت لا ترى رسالة اكتشاف SDK أو البيانات التي تمت معالجتها (بعد ساعتين) ، فاتصل بدعم Firebase .
تأكد من تهيئة SDK لمراقبة الأداء بشكل صحيح في تطبيقك.
تأكد من عدم تعطيل SDK لمراقبة الأداء من خلال العلامة التالية:
-
performance.instrumentationEnabled
-
تأكد من تعطيل التخزين المؤقت للمتصفح ، وإلا فقد لا يلتقط المتصفح أي إعدادات أجهزة جديدة.
أغلق علامة تبويب صفحة الويب ، ثم أعد فتحها. تحقق من التسجيل مرة أخرى.
إذا أضفت للتو SDK لمراقبة الأداء في تطبيقك ، فقد تحتاج إلى إعادة تشغيل التطبيق بالكامل حتى تبدأ SDK في العمل.
إذا لم تتمكن من العثور على أي شيء تم تعطيله في تطبيقك ، فاتصل بدعم Firebase .
تعالج مراقبة الأداء بيانات حدث الأداء قبل عرضها في لوحة معلومات الأداء .
إذا مر أكثر من 24 ساعة منذ ظهور الرسالة "تم اكتشاف SDK" ، وما زلت لا ترى البيانات ، فتحقق من لوحة معلومات حالة Firebase في حالة وجود انقطاع معروف. إذا لم يكن هناك انقطاع ، فاتصل بدعم Firebase .
استكشاف الأخطاء وإصلاحها بشكل عام
إذا كنت قد أضفت SDK بنجاح وكنت تستخدم مراقبة الأداء في تطبيقك ، فيمكن أن تساعدك نصائح استكشاف الأخطاء وإصلاحها التالية في حل المشكلات العامة التي تتضمن ميزات وأدوات مراقبة الأداء.
إذا كنت لا ترى رسائل سجل لأحداث الأداء ، فجرّب الخطوات التالية لتحري الخلل وإصلاحه:
تأكد من تهيئة SDK لمراقبة الأداء بشكل صحيح في تطبيقك.
تأكد من عدم تعطيل SDK لمراقبة الأداء من خلال العلامة التالية:
-
performance.instrumentationEnabled
-
تأكد من تعطيل التخزين المؤقت للمتصفح ، وإلا فقد لا يلتقط المتصفح أي إعدادات أجهزة جديدة.
أغلق علامة تبويب صفحة الويب ، ثم أعد فتحها. تحقق من التسجيل مرة أخرى.
إذا أضفت للتو SDK لمراقبة الأداء في تطبيقك ، فقد تحتاج إلى إعادة تشغيل التطبيق بالكامل حتى تبدأ SDK في العمل.
إذا لم تتمكن من العثور على أي شيء تم تعطيله في تطبيقك ، فاتصل بدعم Firebase .
إذا كنت لا ترى بيانات لمقياس تأخير الإدخال الأول ، فجرّب الخطوات التالية لتحرّي الخلل وإصلاحه:
اعلم أن مراقبة الأداء تسجل فقط مقياس تأخير الإدخال الأول عندما ينقر المستخدم على صفحة الويب خلال أول 5 ثوانٍ بعد تحميل الصفحة.
تأكد من إعداد تطبيقك لقياس هذا المقياس. يتطلب مقياس تأخير الإدخال الأول إعدادًا يدويًا . على وجه التحديد ، تحتاج إلى إضافة مكتبة polyfill لهذا المقياس. للحصول على تعليمات التثبيت ، راجع وثائق المكتبة.
لاحظ أن إضافة مكتبة polyfill هذه ليست مطلوبة لمراقبة الأداء للإبلاغ عن مقاييس تطبيقات الويب الأخرى.
هل ترى بيانات أداء لعمليات التتبع التي تم جمعها تلقائيًا ولكن ليس لتتبع التعليمات البرمجية المخصصة ؟ جرب خطوات استكشاف الأخطاء وإصلاحها التالية:
تحقق من إعداد آثار التعليمات البرمجية المخصصة التي تم تجهيزها عبر واجهة برمجة تطبيقات التتبع ، وخاصة ما يلي:
- يجب أن تفي أسماء عمليات تتبع التعليمات البرمجية المخصصة والمقاييس المخصصة بالمتطلبات التالية: عدم وجود مسافة بيضاء سابقة أو لاحقة ، وعدم وجود حرف شرطة سفلية بادئة (
_
) ، والحد الأقصى للطول هو 32 حرفًا. - يجب بدء جميع الآثار وإيقافها. لن يتم تسجيل أي تتبع لم يتم بدء تشغيله أو إيقافه أو إيقافه قبل البدء.
لاحظ أنه إذا كنت تستخدم طريقة
record()
، فلن تحتاج إلى بدء التتبع أو إيقافه بشكل صريح.- يجب أن تفي أسماء عمليات تتبع التعليمات البرمجية المخصصة والمقاييس المخصصة بالمتطلبات التالية: عدم وجود مسافة بيضاء سابقة أو لاحقة ، وعدم وجود حرف شرطة سفلية بادئة (
تأكد من عدم تعطيل جمع بيانات مراقبة الأداء من خلال العلامة التالية:
performance.dataCollectionEnabled
تتحكم هذه العلامة في تجميع البيانات لتتبع التعليمات البرمجية المخصصة فقط (وليس كل البيانات).
تحقق من رسائل السجل الخاصة بك للتأكد من أن "مراقبة الأداء" تقوم بتسجيل آثار التعليمات البرمجية المخصصة المتوقعة.
إذا كانت مراقبة الأداء تقوم بتسجيل الأحداث ، ولكن لا يتم عرض أي بيانات بعد 24 ساعة ، فاتصل بدعم Firebase .
إذا فقدت بيانات طلب الشبكة ، فكن على دراية بما يلي:
تجمع مراقبة الأداء تلقائيًا مقاييس لطلبات الشبكة التي تم الإبلاغ عنها بواسطة واجهة برمجة تطبيقات المتصفح. لا تتضمن هذه التقارير طلبات الشبكة الفاشلة.
اعتمادًا على سلوك التعليمات البرمجية ومكتبات الشبكات المستخدمة بواسطة التعليمات البرمجية الخاصة بك ، قد تقوم "مراقبة الأداء" بالإبلاغ عن طلبات الشبكة المكتملة فقط. هذا يعني أنه قد لا يتم الإبلاغ عن اتصالات HTTP / S التي تُركت مفتوحة.
تعرف على المزيد حول كيفية قيام "مراقبة الأداء" بتجميع بيانات طلب الشبكة ضمن أنماط عنوان URL.
يمكنك أيضًا تجربة أنماط URL المخصصة !
التعليمات
تجمع مراقبة الأداء بيانات الأداء من أجهزة مستخدم التطبيق الخاص بك. إذا كان للتطبيق الخاص بك العديد من المستخدمين أو إذا كان التطبيق ينشئ قدرًا كبيرًا من نشاط الأداء ، فقد تقصر مراقبة الأداء جمع البيانات على مجموعة فرعية من الأجهزة لتقليل عدد الأحداث التي تمت معالجتها. هذه الحدود عالية بما يكفي بحيث تظل قيم المقاييس تمثل تجربة تطبيق المستخدم ، حتى مع وجود عدد أقل من الأحداث.
لإدارة حجم البيانات التي نجمعها ، تستخدم مراقبة الأداء خيارات أخذ العينات التالية:
الحد من المعدل على الجهاز : لمنع الجهاز من إرسال دفعات مفاجئة من التتبع ، نقوم بتحديد عدد الرموز وتتبعات طلبات الشبكة المرسلة من الجهاز إلى 300 حدث كل 10 دقائق. يحمي هذا الأسلوب الجهاز من الأجهزة الحلقية التي يمكنها إرسال كميات كبيرة من بيانات الأداء ، كما يمنع جهازًا واحدًا من تحريف قياسات الأداء.
أخذ العينات الديناميكي : تجمع مراقبة الأداء ما يقرب من 100 مليون حدث لتتبع الرموز و 100 مليون لتتبع طلبات الشبكة لكل تطبيق عبر جميع مستخدمي التطبيق. يتم جلب معدل أخذ العينات الديناميكي على الأجهزة (باستخدام Firebase Remote Config) لتحديد ما إذا كان يجب على الجهاز العشوائي التقاط الآثار وإرسالها. الجهاز الذي لم يتم اختياره لأخذ العينات لا يرسل أي أحداث. معدل أخذ العينات الديناميكي خاص بالتطبيق ويتم تعديله لضمان بقاء الحجم الإجمالي للبيانات المجمعة أقل من الحد.
ترسل جلسات المستخدم بيانات إضافية ومفصلة من جهاز المستخدم ، مما يتطلب المزيد من الموارد لالتقاط البيانات وإرسالها. لتقليل تأثير جلسات المستخدم ، قد تعمل "مراقبة الأداء" أيضًا على تقييد عدد الجلسات.
تقييد معدل جانب الخادم : لضمان عدم تجاوز التطبيقات لحد أخذ العينات ، قد تستخدم مراقبة الأداء أخذ العينات من جانب الخادم لإسقاط بعض الأحداث المستلمة من الأجهزة. على الرغم من أن هذا النوع من التقييد لا يغير من فعالية مقاييسنا ، إلا أنه قد يتسبب في تغييرات طفيفة في النمط ، بما في ذلك ما يلي:
- يمكن أن يختلف عدد الآثار عن عدد المرات التي تم فيها تنفيذ جزء من التعليمات البرمجية.
- قد تحتوي الآثار التي تقترن بشكل وثيق في التعليمات البرمجية على عدد مختلف من العينات.
لقد استبدلنا علامة التبويب "المشكلات" بإدخال التنبيهات ، والتي تُعلمك تلقائيًا عند تجاوز الحدود التي قمت بتعيينها. لم تعد بحاجة إلى التحقق يدويًا من وحدة تحكم Firebase لتحديد حالة العتبة. للتعرف على التنبيهات ، راجع إعداد التنبيهات لمشاكل الأداء .
لقد أعدنا تصميم قسم مراقبة الأداء في وحدة تحكم Firebase بحيث تعرض علامة التبويب Dashboard مقاييسك الرئيسية وجميع آثارك في مساحة واحدة. كجزء من إعادة التصميم ، أزلنا صفحات الجهاز والشبكة .
يحتوي جدول التتبع الموجود في الجزء السفلي من علامة تبويب لوحة المعلومات على نفس المعلومات التي تعرضها علامتا التبويب على الجهاز والشبكة ، ولكن مع بعض الميزات المضافة ، بما في ذلك القدرة على فرز تتبعاتك حسب النسبة المئوية للتغيير لمقياس معين. لعرض جميع المقاييس والبيانات لتتبع معين ، انقر فوق اسم التتبع في جدول التتبع.
اعرض آثارك في علامات التبويب الفرعية التالية لجدول التتبع:
- تتبع طلبات الشبكة (سواء الجاهزة أو المخصصة) - علامة التبويب الفرعية لطلبات الشبكة
- تتبعات التعليمات البرمجية المخصصة - علامة التبويب الفرعية للتتبعات المخصصة
- بدء التطبيق ، التطبيق في المقدمة ، تتبعات التطبيق في الخلفية - علامة التبويب الفرعية للتتبعات المخصصة
- تتبعات عرض الشاشة - علامة التبويب الفرعية لعرض الشاشة
- تتبعات تحميل الصفحة - علامة التبويب الفرعية تحميل الصفحة
للحصول على تفاصيل حول جدول التتبع وعرض المقاييس والبيانات ، تفضل بزيارة صفحة نظرة عامة على وحدة التحكم ( iOS + | Android | Web ).
تدعم مراقبة الأداء تنبيهات المقاييس التي تتجاوز الحدود المحددة. لتجنب الالتباس مع هذه الحدود القابلة للتكوين لمقاييس الأداء ، أزلنا القدرة على تكوين عتبات المشكلات .
إذا كانت مراقبة الأداء هي منتج Firebase الوحيد في تطبيقك ، فيمكنك استخدام SDK المستقل لمراقبة الأداء (والنص البرمجي الموصى به أدناه) إذا كنت مهتمًا بما يلي:
- باستخدام مكتبة ذات مساحة اسم
- تقليل حجم حزمة SDK
- تأخير تهيئة SDK إلى ما بعد تحميل صفحتك
لتضمين SDK المستقل لمراقبة الأداء في تطبيقك وتأخير تهيئته إلى ما بعد تحميل صفحتك:
- أضف البرنامج النصي التالي إلى رأس ملف الفهرس الخاص بك.
- تأكد من إضافة كائن تكوين مشروع Firebase لتطبيقك.
(function(sa,fbc){function load(f,c){var a=document.createElement('script'); a.async=1;a.src=f;var s=document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(a,s);}load(sa); window.addEventListener('load',function(){firebase.initializeApp(fbc).performance()}); })(performance_standalone, firebaseConfig);
أين،
- performance_standalone هي
'https://www.gstatic.com/firebasejs/9.8.1/firebase-performance-standalone.js'
- firebaseConfig هو كائن تهيئة Firebase لتطبيقك
يقوم البرنامج النصي أعلاه بتحميل SDK المستقل بشكل غير متزامن ثم يهيئ Firebase بعد إطلاق حدث onload
للنافذة. يقلل هذا الأسلوب من التأثير الذي يمكن أن تحدثه SDK على مقاييس تحميل الصفحة نظرًا لأن المتصفح قد أبلغ بالفعل عن مقاييس التحميل الخاصة به عند تهيئة SDK.
بالقرب من معالجة البيانات وعرضها في الوقت الحقيقي
تعالج مراقبة أداء Firebase بيانات الأداء المجمعة فور ظهورها ، مما يؤدي إلى عرض البيانات في الوقت الفعلي تقريبًا في وحدة تحكم Firebase. يتم عرض البيانات التي تمت معالجتها في وحدة التحكم في غضون بضع دقائق من جمعها ، ومن هنا جاء مصطلح "الوقت الفعلي القريب".
للاستفادة من معالجة البيانات في الوقت الفعلي تقريبًا ، تأكد من أن تطبيقك يستخدم إصدار SDK متوافق في الوقت الفعلي .
للاستفادة من معالجة البيانات في الوقت الفعلي تقريبًا ، ما عليك سوى التأكد من أن تطبيقك يستخدم إصدار SDK لمراقبة الأداء المتوافق مع معالجة البيانات في الوقت الفعلي.
هذه هي إصدارات SDK المتوافقة مع الوقت الفعلي:
- iOS - v7.3.0 أو أحدث
- tvOS - v8.9.0 أو أحدث
- Android - الإصدار 19.0.10 أو الأحدث (أو Firebase Android BoM v26.1.0 أو الأحدث)
- الويب - v7.14.0 أو أحدث
لاحظ أننا نوصي دائمًا باستخدام أحدث إصدار من SDK ، ولكن أي إصدار مدرج أعلاه سيمكن مراقبة الأداء لمعالجة بياناتك في الوقت الفعلي تقريبًا.
هذه هي إصدارات SDK المتوافقة مع معالجة البيانات في الوقت الفعلي:
- iOS - v7.3.0 أو أحدث
- tvOS - v8.9.0 أو أحدث
- Android - الإصدار 19.0.10 أو الأحدث (أو Firebase Android BoM v26.1.0 أو الأحدث)
- الويب - v7.14.0 أو أحدث
لاحظ أننا نوصي دائمًا باستخدام أحدث إصدار من SDK ، ولكن أي إصدار مدرج أعلاه سيمكن مراقبة الأداء لمعالجة بياناتك في الوقت الفعلي تقريبًا.
إذا كان تطبيقك لا يستخدم إصدار SDK متوافق في الوقت الفعلي ، فستظل ترى جميع بيانات أداء التطبيق في وحدة تحكم Firebase. ومع ذلك ، سيتأخر عرض بيانات الأداء بحوالي 36 ساعة من وقت جمعها.
Yes! Regardless of which SDK version an app instance uses, you'll see performance data from all your users.
However, if you're looking at recent data (less than roughly 36 hours old), then the displayed data is from users of app instances using a real-time compatible SDK version. The non-recent data, though, includes performance data from all versions of your app.
Contacting Firebase Support
If you reach out to Firebase Support , always include your Firebase App ID. Find your Firebase App ID in the Your apps card of your Project settings .