Catch up on everthing we announced at this year's Firebase Summit. Learn more

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

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

تفعيل تصدير BigQuery

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

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

عند ربط مشروعك بـ BiqQuery:

  • Firebase تصدر نسخة من البيانات الموجودة لديك إلى الاستعلام الشامل.

    • عند الربط الأولي ، يقوم Firebase تلقائيًا بجدولة جداول BigQuery لإعادة تعبئة البيانات من الأيام السبعة الماضية حتى تتمكن من بدء التجربة على الفور. انتظر بضع ساعات حتى تتوفر البيانات الأولية في BigQuery.

    • يمكنك أيضا يدويا إعادة ملء بيانات الجدول الزمني لمدة تصل إلى 30 يوما.

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

تحقق من نسبة الإطارات المجمدة مقابل الظروف المختلفة

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