بعد بضع ثوانٍ، ابحث عن مكالمة شبكة
firebaselogging.googleapis.com في أدوات المطوّرين في متصفّحك تشير رسالة الأشكال البيانية
ظهور اتصال الشبكة هذا بأن المتصفح يرسل بيانات الأداء
إلى Firebase.
اطّلِع على
لوحة بيانات حالة Firebase في حال
هناك انقطاع في الخدمة معروف في Firebase أو في "مراقبة الأداء".
بدء استخدام ميزة "مراقبة الأداء"
إذا كنت تبدأ استخدام أداة "مراقبة الأداء"
(iOS+ |
Android |
الويب)، والخطوات التالية لتحديد المشاكل وحلّها
يمكن أن يساعد ذلك في حلّ المشاكل التي تتضمّن رصد Firebase لحزمة تطوير البرامج (SDK) أو عرضها
بيانات الأداء الأولى في وحدة تحكُّم Firebase.
تمت إضافة حزمة SDK إلى التطبيق ولكن وحدة التحكم
ما زالت تنص على إضافة حزمة SDK
بإمكان Firebase اكتشاف ما إذا كنت قد أضفت حزمة SDK لمراقبة الأداء إلى تطبيقك بنجاح.
عندما يتلقّى معلومات عن الأحداث (مثل التفاعلات مع التطبيقات) من تطبيقك
سيتم عادةً عرض الأداء خلال 10 دقائق من بدء تشغيل التطبيق
لوحة البيانات
وحدة تحكم Firebase تعرض الرسالة "تم اكتشاف حزمة تطوير برامج (SDK)" . بعد ذلك، في غضون 30
دقيقة، تعرض لوحة المعلومات البيانات الأولية التي تمت معالجتها.
إذا مرّ أكثر من 10 دقائق على إضافة أحدث إصدار من حزمة SDK إلى
تطبيقك وما زلت لا ترى أي تغيير، راجع سجلّ
الرسائل للتأكد من تسجيل "مراقبة الأداء"
أحداث. جرِّب الخطوات المناسبة لتحديد المشاكل وحلّها كما هو موضّح أدناه:
تحديد وحلّ مشاكل رسالة رصد حزمة تطوير البرامج (SDK) المتأخّرة
يسجِّل التطبيق الأحداث: تحديد المشاكل وحلّها
الخطوات
إذا كنت لا تزال تتطوّر محليًا، حاوِل إنشاء المزيد من الأحداث للبيانات.
المجموعة:
عرض تطبيق الويب وعرضه في بيئة محلية.
يمكنك إنشاء أحداث بتحميل صفحات فرعية لموقعك والتفاعل مع
و/أو تنفيذ طلبات الشبكة. تأكَّد من الاحتفاظ بالمتصفح
لفتح علامة التبويب لمدة 10 ثوانٍ على الأقل بعد تحميل الصفحة.
تأكَّد من أنّ إعدادات Firebase
العنصر بشكل صحيح إلى تطبيقك
أنه لم يتم تعديل الكائن. على وجه التحديد، تحقق مما يلي:
رقم تعريف تطبيق الويب على Firebase (appId) في عنصر الضبط صحيح بالنسبة إلى
التطبيق. يمكنك العثور على رقم تعريف تطبيق Firebase في بطاقة تطبيقاتك في
settingsالمشروع
الإعدادات.
إذا كان هناك أي خطأ يبدو في عنصر الضبط في تطبيقك، جرِّب
التالي:
احذف عنصر الإعداد المتوفّر حاليًا في تطبيقك.
اتبع هذه التعليمات للحصول على
كائن تكوين جديد وإضافته إلى تطبيق الويب لديك.
إذا كانت حزمة SDK تسجّل الأحداث ويبدو أنّه تم إعداد كل شيء بشكلٍ صحيح،
ولكن لا تظهر لك رسالة رصد حزمة تطوير البرامج (SDK) أو البيانات التي تمت معالجتها حتى الآن.
(بعد ساعتين)، يُرجى التواصل مع فريق دعم Firebase.
لا يسجِّل التطبيق الأحداث:
خطوات تحديد المشاكل وحلّها
التأكّد من أنّ حزمة تطوير البرامج (SDK) لمراقبة الأداء
مهيأة في
التطبيق.
تأكَّد من عدم إيقاف "حزمة SDK لمراقبة الأداء" من خلال
العلامة التالية:
performance.instrumentationEnabled
يُرجى التأكُّد من إيقاف التخزين المؤقت في المتصفّح، وإلا قد يتم إيقاف المتصفّح.
أي إعدادات جديدة للأجهزة.
أغلِق علامة تبويب صفحة الويب، ثم أعِد فتحها. تحقَّق من التسجيل مرة أخرى.
إذا أضفت حزمة SDK لمراقبة الأداء للتو في تطبيقك، قد تحتاج إلى
أعِد تشغيل تطبيقك كي تبدأ حزمة تطوير البرامج (SDK) في العمل.
تشير وحدة التحكّم إلى أنّ حزمة تطوير البرامج (SDK)
ولكن لا يتم عرض أي بيانات
تعالج ميزة "مراقبة الأداء" بيانات أحداث الأداء قبل عرضها في
لوحة بيانات الأداء:
في حال مرور أكثر من 24 ساعة على "رصد حزمة تطوير البرامج (SDK)" ظهرت رسالة،
وما زلت لا ترى البيانات، فتحقق من
لوحة بيانات حالة Firebase في حالة وجود
انقطاع الخدمة المعروف. إذا لم يكن هناك انقطاع في الخدمة،
التواصل مع فريق دعم Firebase.
الإجراءات العامّة لتحديد المشاكل وحلّها
إذا أضفت حزمة تطوير البرامج (SDK) بنجاح وكنت تستخدم ميزة "مراقبة الأداء" في تطبيقك،
فإن اتباع نصائح استكشاف الأخطاء وإصلاحها يمكن أن يساعد في حل المشكلات العامة التي تتضمن
ميزات وأدوات "مراقبة الأداء"
انتبه إلى أن ميزة "مراقبة الأداء" لا تسجِّل سوى مقياس تأخير الإدخال الأول عندما
ينقر المستخدِم على صفحة الويب خلال أول 5 ثوانٍ بعد تحميل الصفحة.
تأكَّد من إعداد تطبيقك لقياس هذا المقياس. تشير رسالة الأشكال البيانية
يتطلب مقياس مهلة الإدخال الأوليدويًا
الإعداد.
وعليك على وجه التحديد إضافة مكتبة polyfill لهذا المقياس. بالنسبة
تعليمات التثبيت، فراجع
المستندات.
تجدر الإشارة إلى أنّ إضافة مكتبة polyfill هذه ليست مطلوبة لميزة "مراقبة الأداء" في
للإبلاغ عن مقاييس تطبيقات الويب الأخرى.
لوحة بيانات الأداء هي
عدم توفُّر بيانات تتبُّع مخصَّصة
هل ترى بيانات الأداء للتتبُّعات المجمّعة تلقائيًا ولكن ليس
عمليات تتبُّع الرموز المخصّصة يُرجى اتّباع الخطوات التالية لتحديد المشاكل وحلّها:
تحقّق من إعداد عمليات تتبُّع الرموز المخصّصة التي يتم رصدها عن طريق
Trace API
وخاصة ما يلي:
يجب أن تستوفي أسماء عمليات تتبُّع الرموز المخصّصة والمقاييس المخصّصة ما يلي:
المتطلبات: بدون مسافة بيضاء بادئة أو لاحقة، وبدون شرطة سفلية بادئة
(_) حرفًا، والحد الأقصى للطول هو 32 حرفًا.
يجب بدء جميع آثار الأنشطة وإيقافها. أي أثر لا يبدأ، ولا
أو توقفوا، أو توقفوا قبل بدئهم العمل.
لاحظ أنه إذا كنت تستخدم
record()
فلن تحتاج إلى بدء عملية التتبع أو إيقافها بشكل صريح.
إذا لم تتوفّر بيانات طلبات الشبكة، يُرجى الانتباه لما يلي:
تجمع ميزة "مراقبة الأداء" تلقائيًا مقاييس طلبات الشبكة التي تم الإبلاغ عنها من قِبل
واجهة برمجة تطبيقات المتصفح. ولا تشمل هذه التقارير طلبات الشبكة التي تعذّر تنفيذها.
اعتمادًا على سلوك الرمز البرمجي ومكتبات الشبكات التي يستخدمها
فإن "مراقبة الأداء" قد تتضمن فقط تقارير حول طلبات الشبكة التي تم إكمالها.
وهذا يعني أنّه قد لا يتم الإبلاغ عن اتصالات HTTP/S التي تُترك مفتوحة.
لا يتم تجميع بيانات طلبات الشبكة على النحو المتوقّع
ماذا حدث لأهم المشاكل في بطاقة الأداء في صفحة المشروع الرئيسية؟
استبدلنا أهم المشاكل بـ التنبيهات الأخيرة كإجراء متابعة بشأن
آخر طرح للتنبيهات، والذي يخطرك تلقائيًا عند
الحدود التي وضعتها قد تم تجاوزها. تم إيقاف المشاكل نهائيًا
واستبدالها بالتنبيهات.
تعمل أداة اختيار التطبيقات أعلى بطاقة الأداء على فلترة التنبيه
ضمن التنبيهات الأخيرة. فقط آخر ثلاثة تنبيهات
يتم عرض التطبيقات المحددة.
ماذا حدث لإمكانية وضع حدود للمشكلات في وحدة التحكم؟
تتيح "مراقبة الأداء" استخدام التنبيهات للمقاييس التي تتجاوز
وحدودها المعينة. لتجنب الالتباس مع هذه الحدود القابلة للتهيئة
لمقاييس الأداء، فقد أزلنا إمكانية تهيئة الحدود
المشاكل:
ماذا حدث لمعلومات "التفاصيل والمقاييس" في وحدة تحكُّم Firebase؟
لقد استبدلنا صفحات التفاصيل والمقاييس بصفحة مركزية تمت إعادة تصميمها حديثًا
واجهة المستخدم (UI) لتحسين طريقة استكشاف الأخطاء وإصلاحها. هذا الجديد
استكشاف الأخطاء وإصلاحها في واجهة المستخدم نفس الوظيفة الأساسية التي توفر بها التفاصيل
المقاييس المعروضة. لمزيد من المعلومات حول تحديد المشاكل وحلّها، يُرجى مراجعة
عرض المزيد من البيانات الخاصة بعملية تتبُّع معيّنة
لماذا عدد العينات ليس كما أتوقع؟
تجمع ميزة "مراقبة الأداء" بيانات الأداء من أجهزة المستخدمين في تطبيقك. إذا كان
لدى التطبيق العديد من المستخدمين أو إذا كان التطبيق يُنشئ قدرًا كبيرًا من الأداء
فإن "مراقبة الأداء" قد تقصر جمع البيانات على مجموعة فرعية من الأجهزة
تقليل عدد الأحداث التي تتم معالجتها. هذه الحدود عالية بما يكفي بحيث،
وحتى مع عدد أقل من الأحداث، ستظل قيم المقاييس تمثل
تجربة المستخدم في التطبيق.
لإدارة حجم البيانات التي نجمعها، تستخدم ميزة "مراقبة الأداء" ما يلي:
خيارات أخذ العينات:
الحدّ من معدّل الزحف على الجهاز فقط: لمنع الجهاز من إرسال صور متسلسلة مفاجئة
فإننا نحد من عدد عمليات تتبع طلبات الشبكة والرموز التي يتم إرسالها من
الجهاز إلى 300 حدث كل 10 دقائق. تحمي هذه الطريقة الجهاز من
الأدوات المتكررة التي يمكنها إرسال كميات كبيرة من بيانات الأداء،
ويمنع جهازًا واحدًا من تغيير قياسات الأداء.
أخذ العينات الديناميكي: تجمع ميزة "مراقبة الأداء" حدًا أقصى يبلغ 100 مليون تقريبًا.
أحداث لعمليات تتبُّع الرمز و100 مليون لتتبُّع طلبات الشبكة لكل تطبيق يوميًا
بين جميع مستخدمي التطبيق. يتم جلب معدل أخذ العينات الديناميكي على الأجهزة (باستخدام
الإعداد عن بُعد في Firebase) لتحديد ما إذا كان ينبغي للجهاز العشوائي
التقاط آثار وإرسالها. لن يكون بإمكان الجهاز الذي لم يتم تحديده أخذ العيّنات أن
لإرسال أي أحداث. ويكون معدل العينة الديناميكي خاصًا بالتطبيق ويتكيف مع
لضمان بقاء الحجم الإجمالي للبيانات التي تم جمعها أقل من الحد المسموح به.
تُرسل جلسات المستخدمين بيانات إضافية ومفصّلة من جهاز المستخدم، ما يتطلب
المزيد من الموارد للحصول على البيانات وإرسالها. لتقليل تأثير المستخدم
الجلسات، يمكن أن تحدد مراقبة الأداء أيضًا عدد الجلسات.
تقييد المعدّل من جهة الخادم: لضمان عدم تجاوز التطبيقات العينات
الحد، قد تستخدم مراقبة الأداء أخذ العينات من جهة الخادم لحذف بعض الأحداث
المستلمة من الأجهزة. وعلى الرغم من أن هذا النوع من التقييد لا يغير
فعالية مقاييسنا، فقد يتسبب ذلك في حدوث تحولات طفيفة في النمط، بما في ذلك
التالي:
ويمكن أن يختلف عدد الآثار عن عدد المرات التي يكون فيها جزء من
تم تنفيذ الرمز البرمجي.
قد يكون لكل تتبّع مرتبط بشكل وثيق في الرمز عددًا مختلفًا من
العينات.
ماذا حدث لعلامة تبويب المشاكل في وحدة التحكّم؟
استبدلنا علامة التبويب "المشكلات" بمقدمة "التنبيهات" التي
تُعلمك تلقائيًا عند تجاوز الحدود الدنيا التي وضعتها. أنت لا
إلى فحص وحدة تحكم Firebase يدويًا لتحديد حالة
العتبة. وللتعرّف على مزيد من المعلومات عن "التنبيهات"، اطّلِع على إعداد تنبيهات لمشاكل الأداء.
ماذا حدث لعلامتَي التبويب على الجهاز والشبكة في وحدة التحكّم؟
كيف يمكنني عرض آثار الأنشطة التي كانت على تلك الصفحات؟
لقد أعدنا تصميم قسم "مراقبة الأداء" في وحدة تحكم Firebase بحيث
تعرض علامة التبويب لوحة البيانات المقاييس الرئيسية وجميع عمليات التتبّع في مساحة واحدة. بالنسبة
في إطار عملية إعادة التصميم، أزلنا صفحتَي على الجهاز والشبكة.
يحتوي جدول بيانات التتبُّع في أسفل علامة التبويب لوحة البيانات على جميع العناصر
المعلومات التي يتم عرضها في علامتَي التبويب على الجهاز والشبكة، ولكن مع بعض
الميزات المضافة، بما في ذلك القدرة على تصنيف آثار الأنشطة حسب النسبة المئوية
التغيير بالنسبة لمقياس معين. لعرض جميع المقاييس والبيانات لعنصر معيّن
انقر فوق اسم التتبع في جدول التتبع.
يمكنك عرض عمليات التتبُّع في علامات التبويب الفرعية التالية من جدول التتبُّع:
عمليات تتبُّع طلبات الشبكة (جاهزة أو مخصّصة) - علامة التبويب الفرعية طلبات الشبكة
عمليات تتبُّع الرموز المخصّصة: علامة التبويب الفرعية عمليات تتبُّع الرموز المخصّصة
عمليات تتبُّع بدء التطبيق، ومقدمة التطبيق، وتتبّع التطبيق في الخلفية - علامات التبويب الفرعية عمليات التتبُّع المخصّصة
عمليات تتبُّع عرض الشاشة: علامة التبويب الفرعية عرض الشاشة
عمليات تتبُّع تحميل الصفحة: علامة التبويب الفرعية تحميل الصفحة
للحصول على تفاصيل حول جدول آثار الأنشطة وعرض المقاييس والبيانات، يُرجى الانتقال إلى
صفحة "نظرة عامة" في وحدة التحكّم
(iOS+ |
Android |
الويب).
لماذا يختلف عدد اللقطات البطيئة والثابتة عن ما توقّعته؟
يتم احتساب إطارات العرض البطيء والإطارات الثابتة باستخدام جهاز تم افتراضه
معدل التحديث 60 هرتز. في حال كان معدّل تحديث الجهاز أقل من 60 هرتز، يجب ضبط كل إطار على
سيكون وقت العرض أبطأ بسبب عرض عدد أقل من اللقطات في الثانية.
قد تؤدي أوقات العرض الأبطأ إلى الإبلاغ عن المزيد من اللقطات البطيئة أو الثابتة.
لأنّه سيتم عرض المزيد من اللقطات بشكل أبطأ أو سيتم تجميدها. ومع ذلك، إذا لم يتم تثبيت
معدّل إعادة التحميل أعلى من 60 هرتز، وسيتم عرض كل إطار بشكل أسرع.
ويمكن أن يؤدي ذلك إلى عدد أقل من اللقطات البطيئة أو الثابتة التي يتم الإبلاغ عنها. هذا هو جدول حالي
في حزمة SDK لمراقبة الأداء.
كيف أضيف
حزمة تطوير برامج JavaScript (JS SDK) "مستقلة" أصغر حجمًا مع مساحة اسم في تطبيق الويب؟
إذا كانت "مراقبة الأداء" هي منتج Firebase الوحيد في تطبيقك، يمكنك استخدام
حزمة SDK المستقلة لتتبُّع الأداء (والنص البرمجي المقترَح للعناوين أدناه) إذا كنت
مهتم بـ:
استخدام مكتبة ذات مساحة اسم
تقليل حجم حزمة SDK
تأخير إعداد حزمة تطوير البرامج (SDK) إلى ما بعد تحميل الصفحة
لتضمين حزمة SDK المستقلة لتتبُّع الأداء في تطبيقك وتأخيرها
التهيئة إلى ما بعد تحميل الصفحة:
يعمل النص البرمجي أعلاه على تحميل حزمة SDK المستقلة بشكل غير متزامن ثم يبدأها
Firebase بعد تنشيط حدث onload خلال النافذة. ويقلل هذا الأسلوب
الذي تحدثه حزمة تطوير البرامج (SDK)
مقاييس تحميل الصفحة نظرًا إلى أنّ المتصفّح يحتوي على
سبق أن أبلغَت عن مقاييس التحميل الخاصة بها عند إعداد حزمة تطوير البرامج (SDK).
مزيد من المعلومات عن حزمة تطوير البرامج (SDK) المستقلة لمراقبة الأداء وعنوانها
النص البرمجي
وقد تم تحسين هذه الحزمة المستقلة لتتناسب مع حجم الشركة. تنسيق gzipped، يبلغ حوالي 10 كيلوبايت. تحتوي على
جميع وظائف مراقبة أداء Firebase إلى جانب الحد الأدنى من مجموعة
وظائف SDK الأساسية لمنصة Firebase أيضًا.
تستخدم ميزة "مراقبة أداء Firebase" واجهتَي برمجة التطبيقات fetch وPromise
والتي لا تتوفّر في المتصفحات القديمة. تُستخدم رموز polyfill هذه لواجهات برمجة التطبيقات هذه
مضمّنة في حزمة SDK العادية الخاصة بمراقبة أداء Firebase، ولكن يتم حذفها
من حزمة SDK المستقلة لتقليل الحجم.
يقسم المقتطف التالي النص البرمجي للعنوان الذي يتضمن التأخيرات
تهيئة حزمة SDK:
(function(sdkSource, firebaseConfigObject) {
function load(f, c) {
// Creates a script tag to load the standalone SDK
var sdkScript = document.createElement('script');
// Sets it to an async script so that it doesn't interfere with page load
sdkScript.async = 1;
// Sets the source of the script
sdkScript.src = f;
// Inserts the script into the head of the page
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(sdkScript, s);
}
// Calls the load method
load(sdkSource);
// Initializes the SDK only when the onload method is called
window.addEventListener('load', function() {
firebase.initializeApp(firebaseConfigObject).performance();
});
})(performance_standalone, firebaseConfig);
أين،
performance_standalone هو 'https://www.gstatic.com/firebasejs/10.12.5/firebase-performance-standalone.js'
ماذا يحدث "في الوقت الفعلي تقريبًا" بيانات الأداء؟
تجمع ميزة "مراقبة أداء 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. مع ذلك، تتضمّن البيانات غير الحديثة بيانات الأداء.
من جميع إصدارات تطبيقك