يمكنك تصدير بيانات مراقبة الأداء من تطبيقات Apple و Android إلى BigQuery لمزيد من التحليل. يتيح لك BigQuery تحليل البيانات باستخدام BigQuery SQL ، وتصديرها إلى موفر خدمة سحابي آخر ، وحتى استخدام البيانات لنماذج ML المخصصة.
تفعيل تصدير BigQuery
انتقل إلى صفحة التكامل في وحدة تحكم Firebase ، ثم انقر على رابط في بطاقة BigQuery .
اتبع التعليمات التي تظهر على الشاشة لتمكين BigQuery.
عند تمكين تصدير BigQuery لمراقبة الأداء ، يحدث ما يلي:
يقوم Firebase بتصدير نسخة من بياناتك الحالية إلى BigQuery. قد يستغرق اكتمال النشر الأولي للبيانات للتصدير ما يصل إلى 48 ساعة.
- يمكنك جدولة عمليات إعادة تعبئة البيانات يدويًا حتى آخر 30 يومًا أو لآخر تاريخ تم فيه تمكين BigQuery Export (أيهما أحدث).
بعد إنشاء مجموعة البيانات ، لا يمكن تغيير الموقع ، ولكن يمكنك نسخ مجموعة البيانات إلى موقع مختلف أو نقل (إعادة إنشاء) مجموعة البيانات يدويًا في موقع مختلف. لمعرفة المزيد ، راجع تغيير موقع مجموعة البيانات .
يُعد Firebase عمليات مزامنة منتظمة لبياناتك من مشروع Firebase إلى BigQuery. تنتهي عمليات التصدير اليومية هذه عادةً في غضون 24 ساعة بعد جدولتها.
بشكل افتراضي ، يتم ربط جميع التطبيقات في مشروعك بـ 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" لبلد غير معروف) |
الناقل | خيط | الناقل لجهاز العميل |
نوع الراديو | خيط | نوع الراديو النشط عند وقوع الحدث (على سبيل المثال ، "WIFI") |
السمات_المخصصة | صفيف <تسجيل> | جميع السمات المخصصة المرفقة بهذا الحدث |
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 | تعويم 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
ومقياس مخصص ( 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
إرسال مهمة استخراج عبر API أو مكتبات العميل.
التسعير
لا توجد رسوم على تصدير البيانات من مراقبة الأداء ، ويوفر BigQuery حدودًا سخية للاستخدام بدون تكلفة. للحصول على معلومات تفصيلية ، ارجع إلى تسعير BigQuery أو وضع حماية BigQuery .