تصدير بيانات "مراقبة الأداء" إلى BigQuery

يمكنك تصدير بيانات "مراقبة الأداء" من تطبيقات Apple وAndroid إلى BigQuery للمزيد من التحليل. يتيح لك BigQuery تحليل البيانات باستخدام BigQuery SQL، وتصديرها إلى مزود سحابي آخر، وحتى استخدام البيانات لنماذج تعلُّم الآلة المخصّصة

تفعيل BigQuery Export

  1. الانتقال إلى قسم عمليات الدمج في "وحدة تحكُّم Firebase"، ثم النقر على ربط في BigQuery بنجاح.

  2. اتبع التعليمات التي تظهر على الشاشة لتفعيل BigQuery.

    عند تفعيل ميزة BigQuery Export في ما يلي "مراقبة الأداء" يحدث:

لإيقاف 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")
  • على أجهزة Android — VersionName
  • لنظام التشغيل iOS — CFBundleShortVersionString
إصدار_app_build_version السلسلة إصدار نسخة من التطبيق (على سبيل المثال، "1523456")
  • على أجهزة Android — VersionCode
  • لنظام التشغيل iOS — CFBundleVersion
إصدار_نظام التشغيل السلسلة إصدار نظام التشغيل لجهاز العميل
  • على أجهزة Android: مستوى واجهة برمجة تطبيقات Android (على سبيل المثال "26")
  • بالنسبة إلى نظام التشغيل iOS: إصدار iOS (على سبيل المثال "11.4")
اسم_الجهاز السلسلة اسم جهاز العميل (مثل "Google Pixel")
بلد السلسلة رمز البلد المكوّن من حرفَين للبلد الذي يقع فيه الحدث حدثت (على سبيل المثال، "US" أو "ZZ" لبلد غير معروف)
شركة النقل السلسلة مشغّل شبكة الجوّال لجهاز العميل
نوع_الراديو السلسلة نوع الراديو النشط عندما وقع الحدث (على سبيل المثال، "شبكة Wi-Fi")
السمات_المخصّصة المصفوفة<السجلّ> جميع السمات المخصّصة المرفقة بهذا الحدث
custom_attributes.key السلسلة مفتاح السمة المخصّصة
قيمة_السمات_المخصّصة السلسلة قيمة السمة المخصّصة
نوع_الحدث السلسلة نوع الفعالية القيم المحتملة:
  • DURATION_TRACE — آثار عملية جمع البيانات حسب وهو مقياس "المدة" الذي يتضمن بدء التطبيق التطبيق في المقدمة، وفي الخلفية، بالإضافة إلى أي عمليات تتبُّع الرموز المخصّصة التي يستخدمها المطوّرون
  • SCREEN_TRACE — بيانات تمتدّ على فترة بقاء المستخدِم شاشة (تتبُّع عرض الشاشة)
  • TRACE_METRIC — المقاييس المخصصة المرتبطة بتتبُّعات الرموز المخصّصة التي يستخدمها المطوّر
  • NETWORK_REQUEST - آثار تمتدّ طوال العمر طلب شبكة (تتبع طلبات شبكة HTTP)
event_name السلسلة اسم الحدث
  • بالنسبة إلى DURATION_TRACE: اسم التتبُّع
  • بالنسبة إلى TRACE_METRIC: اسم المقياس المخصّص
  • بالنسبة إلى SCREEN_TRACE — تتم متابعة _st_. باستخدام اسم التتبّع
  • بالنسبة إلى NETWORK_REQUEST: عنوان URL لطلب الشبكة التصميم
اسم_الوالدة السلسلة اسم عملية التتبُّع الرئيسية التي تحمل مقياس التتبُّع
يتوفّر العرض لـ TRACE_METRIC فقط.
معلومات_التتبّع سجلّ متوفّر فقط لـ DURATION_TRACE، SCREEN_TRACE وTRACE_METRIC
trace_info.duration_us int64
  • معلومات تسجيل الدخول إلى DURATION_TRACE وSCREEN_TRACE — طول المدة الزمنية ("المدة") من بداية إلى نهايته آثار الأنشطة
  • بالنسبة إلى TRACE_METRIC: المدة الزمنية ("المدة") من بداية التتبُّع الأصلي إلى نهايته
الوحدة: ميكرو ثانية
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;

التحقّق من نسبة الإطارات الثابتة في ظروف مختلفة

على سبيل المثال، يمكنك التحقق من نسبة الإطارات الثابتة إلى جانب مقدار الوقت الذي يقضيه المستخدمون على كل شاشة في تطبيقك عند استخدام أنواع راديو مختلفة (شبكات 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;

نقل بيانات "مراقبة الأداء" إلى أي مكان

تريد أحيانًا الوصول إلى بيانات "مراقبة الأداء" من جهة الخادم أو إرسالها إلى حل آخر تابع لجهة خارجية. لا يتم حاليًا فرض رسوم على تصدير البيانات.

يمكنك تصدير بياناتك حسب ما يلي:

  • استخدام واجهة مستخدم الويب في BigQuery

  • تشغيل الأمر CLI bq extract

  • إرسال استخراج الوظيفة عبر واجهة برمجة التطبيقات أو مكتبات العملاء.

الأسعار

لا يتم تحصيل أي رسوم مقابل تصدير البيانات من أداة "مراقبة الأداء" وBigQuery. الحدود القصوى للاستخدام بدون تكلفة للحصول على معلومات مفصلة، يمكنك الرجوع إلى أسعار BigQuery أو وضع الحماية في BigQuery