يمكنك تصدير بيانات "مراقبة الأداء" من تطبيقات Apple وAndroid إلى BigQuery لإجراء مزيد من التحليل. تسمح لك أداة BigQuery بتحليل البيانات باستخدام BigQuery SQL، وتصديرها إلى مقدّم آخر لخدمات السحابة الإلكترونية، وحتى استخدام بيانات نماذج تعلُّم الآلة المخصّصة.
تفعيل BigQuery Export
انتقِل إلى صفحة عمليات الدمج في "وحدة تحكُّم Firebase"، ثم انقر على ربط في بطاقة BigQuery.
اتبع التعليمات التي تظهر على الشاشة لتفعيل BigQuery.
عند تفعيل ميزة تصدير بيانات BigQuery لميزة "مراقبة الأداء"، سيحدث ما يلي:
يصدّر Firebase نسخة من بياناتك الحالية إلى BigQuery. قد يستغرق اكتمال عملية النشر الأولية للبيانات ما يصل إلى 48 ساعة.
- يمكنك جدولة عمليات إعادة تعبئة البيانات يدويًا لتصل إلى آخر 30 يومًا أو لآخر تاريخ فعّلت فيه BigQuery Export (أيهما الأحدث).
بعد إنشاء مجموعة البيانات، لا يمكن تغيير الموقع، ولكن يمكنك نسخ مجموعة البيانات إلى موقع مختلف أو نقل (إعادة إنشاء) مجموعة البيانات يدويًا في موقع مختلف. لمزيد من المعلومات، راجِع تغيير الموقع الجغرافي لمجموعة البيانات.
يُعدّ Firebase عمليات مزامنة منتظمة لبياناتك من مشروع Firebase إلى BigQuery. عادةً ما تنتهي عمليات التصدير اليومية هذه في غضون 24 ساعة بعد جدولتها.
بشكل تلقائي، يتم ربط جميع التطبيقات في مشروعك بأداة BigQuery. أي تطبيقات تضيفها لاحقًا إلى المشروع يتم ربطها تلقائيًا بـ BigQuery. ويمكنك إدارة عمليات اختيار التطبيقات التي ترسل البيانات إلى BigQuery.
لإيقاف BigQuery Export، عليك إلغاء ربط مشروعك في وحدة تحكُّم Firebase.
ما هي البيانات التي يتم تصديرها إلى BigQuery؟
لكل تطبيق في المشروع، تُنشئ عملية التصدير جدولاً يتضمّن جميع أحداث الأداء التي تم تسجيلها. يمثل كل صف في الجدول حدث أداء واحدًا يمكن أن يكون واحدًا مما يلي:
تتبُّع المدة: هي عمليات تتبُّع تجمع تلقائيًا مقياس "المدة" الذي يتضمّن بدء التطبيق ونظيره في المقدّمة وداخل التطبيق في الخلفية، بالإضافة إلى أي عمليات تتبُّع مخصّصة للرمز البرمجي يستخدمها المطوّر.
event_type
الآنDURATION_TRACE
event_name
هو نفسه اسم التتبُّع.
مقياس التتبّع: مقاييس مخصّصة مرتبطة بتتبُّعات الرموز المخصّصة التي يستخدمها المطوّرون
event_type
الآنTRACE_METRIC
- يشير
event_name
إلى اسم المقياس. parent_trace_name
هو اسم التتبُّع الذي يحتوي على هذا المقياس.
تتبُّع الشاشة: يتضمّن معلومات حول فترة بقاء الشاشة (تتبُّع عرض الشاشة).
event_type
الآنSCREEN_TRACE
event_name
هو بادئة_st_
بالإضافة إلى اسم الشاشة الفعلي
طلب الشبكة - يتتبع الفترة منذ إنشاء طلب الشبكة (عمليات تتبع طلبات شبكة HTTP)
event_type
الآنNETWORK_REQUEST
event_name
هو النمط المصنف لعنوان URL لطلب الشبكة
يحتوي كل حدث أداء على سمات الحدث (مثل البلد ومشغّل شبكة الجوّال لجهاز العميل)، بالإضافة إلى معلومات خاصة بالحدث:
- إنّ بيانات تتبُّع المدة ومقاييس التتبّع ومقاييس تتبُّع الشاشة تحتوي على
trace_info
. - تحتوي مقاييس التتبُّع على
trace_info.metric_info
- تحتوي عمليات تتبُّع الشاشة على
trace_info.screen_info
. - تحتوي عمليات تتبُّع الشبكة على
network_info
.
مخطط البيانات التفصيلي
اسم الحقل | النوع | الوصف |
---|---|---|
event_timestamp | الطابع الزمني | الطابع الزمني منذ بدء الحدث عند بدء الحدث على جهاز العميل (بدء التتبّع وبدء الشبكة وما إلى ذلك) |
app_display_version | سلسلة | عرض إصدار التطبيق (على سبيل المثال، "4.1.7")
|
إصدار_app_build_version | سلسلة | إصدار نسخة من التطبيق (مثل "1523456")
|
إصدار_نظام التشغيل | سلسلة | إصدار نظام التشغيل لجهاز العميل
|
اسم_الجهاز | سلسلة | اسم جهاز العميل (مثل "Google Pixel") |
بلد | سلسلة | رمز البلد المكوّن من حرفَين للبلد الذي وقعت منه الفعالية (على سبيل المثال، "US" أو "ZZ" لبلد غير معروف) |
شركة النقل | سلسلة | مشغّل شبكة الجوّال لجهاز العميل |
نوع_الراديو | سلسلة | نوع الراديو النشط عندما وقع الحدث (على سبيل المثال، "شبكة Wi-Fi") |
السمات_المخصّصة | المصفوفة<السجلّ> | جميع السمات المخصّصة المرفقة بهذا الحدث |
custom_attributes.key | سلسلة | مفتاح السمة المخصّصة |
قيمة_السمات_المخصّصة | سلسلة | قيمة السمة المخصّصة |
نوع_الحدث | سلسلة | نوع الحدث، القيم المحتملة:
|
event_name | سلسلة | اسم الحدث
|
اسم_الوالدة | سلسلة | اسم سجلّ التتبُّع الأصلي الذي يحمل مقياس التتبُّع متوفّر فقط لـ TRACE_METRIC |
معلومات_التتبّع | سجلّ | العرض متاح فقط لـ DURATION_TRACE وSCREEN_TRACE وTRACE_METRIC . |
trace_info.duration_us | int64 |
|
trace_info.screen_info | سجلّ | يتوفّر للمستخدم SCREEN_TRACE فقط. |
trace_info.screen_info.slow_frame_ratio | عائم 64 | نسبة اللقطات البطيئة لتتبُّع الشاشة هذا بين 0 و1 (على سبيل المثال، تعني القيمة 0.05 أنّ عرض% 5 من اللقطات لمثيل الشاشة هذا استغرق أكثر من 16 ملي ثانية) |
trace_info.screen_info.frozen_frame_ratio | عائم 64 | نسبة اللقطات الثابتة في عملية تتبُّع الشاشة هذه بين 0 و1 (على سبيل المثال، تعني القيمة 0.05 أنّ عرض% 5 من اللقطات لمثيل الشاشة هذا استغرق أكثر من 700 ملي ثانية) |
trace_info.metric_info | سجلّ | يتوفّر للمستخدم TRACE_METRIC فقط. |
trace_info.metric_info.metric_value | int64 | قيمة مقياس التتبُّع |
معلومات الشبكة | سجلّ | يتوفّر للمستخدم NETWORK_REQUEST فقط. |
Network_info.response_code | int64 | رمز استجابة HTTP لاستجابة الشبكة (على سبيل المثال، 200 أو 404) |
Network_info.response_mime_type. | سلسلة | نوع MIME لاستجابة الشبكة (على سبيل المثال، "نص/html") |
Network_info.request_http_method | سلسلة | طريقة HTTP لطلب الشبكة (على سبيل المثال، "GET" أو "POST") |
Network_info.request_payload_bytes | int64 | حجم حمولة طلب الشبكة الوحدة: بايت |
Network_info.response_payload_bytes | int64 | حجم حمولة استجابة الشبكة الوحدة: بايت |
Network_info.request_completed_time_us | int64 | ميكرو ثانية بعد event_timestamp عند اكتمال إرسال طلب الشبكةالوحدة: ميكرو ثانية |
Network_info.response_initiated_time_us | int64 | ميكرو ثانية بعد event_timestamp عند بدء استجابة الشبكةالوحدة: ميكرو ثانية |
Network_info.response_completed_time_us | int64 | ميكرو ثانية بعد event_timestamp عند اكتمال استجابة الشبكةالوحدة: ميكرو ثانية |
ما أهمية البيانات التي يتم تصديرها؟
تقدم الأقسام التالية أمثلة على طلبات البحث التي يمكنك إجراؤها في BigQuery مع بيانات "مراقبة الأداء" التي تم تصديرها.
عرض تفاصيل متوسط وقت استجابة بدء التطبيق حسب البلد
SELECT AVG(trace_info.duration_us), country FROM `TABLE_NAME` WHERE _PARTITIONTIME > TIMESTAMP("YYYY-MM-DD") AND event_type = "DURATION_TRACE" AND event_name = "_app_start" GROUP BY 2;
التحقّق من نسبة الإطارات الثابتة في ظروف مختلفة
على سبيل المثال، يمكنك التحقق من نسبة الإطارات الثابتة إلى جانب مقدار الوقت الذي يقضيه المستخدمون على كل شاشة في تطبيقك عند استخدام أنواع راديو مختلفة (WiFi و4G وما إلى ذلك).
SELECT AVG(trace_info.duration_us / 1000000) AS seconds_on_screen, AVG(trace_info.screen_info.frozen_frame_ratio) AS frozen_frame_ratio, event_name, radio_type FROM `TABLE_NAME` WHERE _PARTITIONTIME > TIMESTAMP("YYYY-MM-DD") AND event_type = "SCREEN_TRACE" GROUP BY event_name, radio_type ORDER BY event_name, radio_type;
حساب معدّل نتائج ذاكرة التخزين المؤقت لتحميل أنواع معيّنة من الملفات من القرص
يفترض هذا التحليل أنّك استخدمت عملية تتبُّع رموز مخصّصة للتحميل من
قرص التخزين باستخدام سمة مخصّصة باسم file-extension
ومقياس مخصّص (a
TRACE_METRIC
) باسم cache-hit
يتم ضبطه على 1
إذا كانت نتيجة ذاكرة التخزين المؤقت و0
على سبيل المثال، يمكنك حساب معدل نتائج ذاكرة التخزين المؤقت لتحميل ملفات PNG من القرص:
SELECT AVG(trace_info.metric_info.metric_value) AS cache_hit_rate FROM `TABLE_NAME` WHERE _PARTITIONTIME > TIMESTAMP("YYYY-MM-DD") AND event_type = "TRACE_METRIC" AND event_name = "cache-hit" AND parent_trace_name = "loadFromDisk" AND STRUCT("file-extension", "png") IN UNNEST(custom_attributes);
تحقَّق من الوقت الذي يصدر فيه المستخدمون طلبات الشبكة
على سبيل المثال، يمكنك التحقق في أي ساعة من اليوم يُصدرها المستخدمون من الولايات المتحدة طلبات الشبكة من تطبيقك:
SELECT count(1) AS hourly_count, EXTRACT(HOUR FROM event_timestamp) AS hour_of_day FROM `TABLE_NAME` WHERE _PARTITIONTIME > TIMESTAMP("YYYY-MM-DD") AND event_type = "NETWORK_REQUEST" AND country = "US" GROUP BY 2 ORDER BY 2;
نقل بيانات "مراقبة الأداء" إلى أي مكان
قد تحتاج أحيانًا إلى الوصول إلى بيانات "مراقبة الأداء" من جهة الخادم أو إرسالها إلى حلّ آخر تابع لجهة خارجية. لا يتم حاليًا فرض رسوم على تصدير البيانات.
يمكنك تصدير بياناتك حسب ما يلي:
استخدام واجهة مستخدم الويب في BigQuery
تنفيذ الأمر CLI
bq extract
إرسال مهمة استخراج عبر واجهة برمجة التطبيقات أو مكتبات العملاء
الأسعار
لا يتم تحصيل رسوم منك مقابل تصدير البيانات من "أداة مراقبة الأداء"، كما توفّر أداة BigQuery حدودًا كبيرة للاستخدام بدون تكلفة. للحصول على معلومات تفصيلية، راجِع أسعار BigQuery أو وضع الحماية في BigQuery.