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

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

تفعيل تصدير "BigQuery"

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

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

    عند تفعيل تصدير BigQuery في Performance Monitoring، يحدث ما يلي:

لإيقاف تصدير 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")
  • على أجهزة Android — VersionName
  • لنظام التشغيل iOS — CFBundleShortVersionString
إصدار_app_build_version السلسلة إصدار الإصدار من التطبيق (على سبيل المثال، "1523456")
  • على أجهزة Android — VersionCode
  • لنظام التشغيل iOS — CFBundleVersion
os_version السلسلة إصدار نظام التشغيل لجهاز العميل
  • على أجهزة Android: مستوى واجهة برمجة تطبيقات Android (على سبيل المثال "26")
  • بالنسبة إلى أجهزة iOS، يجب إدخال إصدار iOS (مثل "11.4").
device_name السلسلة اسم جهاز العميل (مثل "Google Pixel")
بلد السلسلة رمز البلد المكوّن من حرفَين للبلد الذي يقع فيه الحدث حدثت (على سبيل المثال، "US" أو "ZZ" لبلد غير معروف)
شركة النقل السلسلة مشغّل شبكة الجوّال لجهاز العميل
نوع_الراديو السلسلة نوع الراديو النشط عندما وقع الحدث (على سبيل المثال، "شبكة Wi-Fi")
custom_attributes المصفوفة<السجلّ> جميع السمات المخصّصة المرفقة بهذا الحدث
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_info سجلّ يتوفّر للمستخدم 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

  • تنفيذ أمر واجهة سطر الأوامر bq extract

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

الأسعار

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