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