يمكنك تصدير بيانات مراقبة الأداء من تطبيقات Apple وAndroid إلى BigQuery لمزيد من التحليل. يتيح لك BigQuery تحليل البيانات باستخدام BigQuery SQL، وتصديرها إلى موفر سحابي آخر، وحتى استخدام البيانات لنماذج تعلم الآلة المخصصة لديك.
تمكين تصدير BigQuery
انتقل إلى صفحة عمليات التكامل في وحدة تحكم Firebase، ثم انقر على الرابط في بطاقة BigQuery .
اتبع التعليمات التي تظهر على الشاشة لتمكين BigQuery.
عند تمكين تصدير BigQuery لمراقبة الأداء، يحدث ما يلي:
يقوم Firebase بتصدير نسخة من بياناتك الحالية إلى BigQuery. قد يستغرق النشر الأولي للبيانات للتصدير ما يصل إلى 48 ساعة حتى يكتمل.
- يمكنك جدولة عمليات إعادة تعبئة البيانات يدويًا حتى آخر 30 يومًا أو لأحدث تاريخ قمت فيه بتمكين تصدير BigQuery (أيهما الأحدث).
بعد إنشاء مجموعة البيانات، لا يمكن تغيير الموقع، ولكن يمكنك نسخ مجموعة البيانات إلى موقع مختلف أو نقل (إعادة إنشاء) مجموعة البيانات يدويًا في موقع مختلف. لمعرفة المزيد، راجع تغيير موقع مجموعة البيانات .
يقوم Firebase بإعداد عمليات مزامنة منتظمة لبياناتك من مشروع Firebase الخاص بك إلى BigQuery. عادةً ما تنتهي عمليات التصدير اليومية هذه خلال 24 ساعة بعد جدولتها.
بشكل افتراضي، ترتبط جميع التطبيقات في مشروعك بـ BigQuery. يتم ربط أي تطبيقات تضيفها لاحقًا إلى المشروع تلقائيًا بـ BigQuery. يمكنك إدارة التطبيقات التي ترسل البيانات .
لإلغاء تنشيط تصدير BigQuery، قم بإلغاء ربط مشروعك في وحدة تحكم 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
مخطط البيانات التفصيلية
اسم الحقل | يكتب | وصف |
---|---|---|
events_timestamp | الطابع الزمني | الطابع الزمني منذ العصر الذي بدأ فيه الحدث على جهاز العميل (بدء التتبع، بدء الشبكة، وما إلى ذلك) |
app_display_version | خيط | عرض إصدار التطبيق (على سبيل المثال، "4.1.7")
|
app_build_version | خيط | إصدار إصدار التطبيق (على سبيل المثال، "1523456")
|
إصدار نظام التشغيل | خيط | إصدار نظام التشغيل للجهاز العميل
|
اسم الجهاز | خيط | اسم الجهاز العميل (على سبيل المثال، "Google Pixel") |
دولة | خيط | رمز البلد المكون من حرفين للبلد الذي وقع منه الحدث (على سبيل المثال، "US" أو "ZZ" لبلد غير معروف) |
الناقل | خيط | الناقل لجهاز العميل |
radio_type | خيط | نوع الراديو النشط عند وقوع الحدث (على سبيل المثال، "WIFI") |
custom_attributes | صفيف <سجل> | جميع السمات المخصصة المرفقة بهذا الحدث |
custom_attributes.key | خيط | مفتاح السمة المخصصة |
custom_attributes.value | خيط | قيمة السمة المخصصة |
نوع الحدث | خيط | نوع الحدث؛ القيم الممكنة:
|
اسم الحدث | خيط | اسم الحدث
|
parent_trace_name | خيط | اسم التتبع الأصلي الذي يحمل مقياس التتبع موجود فقط لـ TRACE_METRIC |
Trace_info | سِجِلّ | موجود فقط لـ DURATION_TRACE و SCREEN_TRACE و TRACE_METRIC |
Trace_info.duration_us | int64 |
|
Trace_info.screen_info | سِجِلّ | موجود فقط لـ SCREEN_TRACE |
Trace_info.screen_info.slow_frame_ratio | float64 | نسبة الإطارات البطيئة لتتبع الشاشة هذه، بين 0 و1 (على سبيل المثال، القيمة 0.05 تعني أن 5% من الإطارات لمثيل الشاشة هذا استغرق أكثر من 16 مللي ثانية للعرض) |
Trace_info.screen_info.frozen_frame_ratio | float64 | نسبة الإطارات المجمدة لتتبع الشاشة هذا، بين 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 لاستجابة الشبكة (على سبيل المثال، "text/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
ومقياس مخصص ( 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
تشغيل
bq extract
من CLIإرسال مهمة استخراج عبر واجهة برمجة التطبيقات أو مكتبات العميل.
التسعير
لا توجد أي رسوم مقابل تصدير البيانات من مراقبة الأداء، ويوفر BigQuery حدود استخدام سخية بدون تكلفة. للحصول على معلومات تفصيلية، راجع تسعير BigQuery أو وضع الحماية لـ BigQuery .