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