طرحواره مجموعه داده برای داده‌های صادر شده در BigQuery

این صفحه، طرحواره مجموعه داده برای داده‌های خروجی Crashlytics و داده‌های جلسات Firebase در BigQuery را ارائه می‌دهد.

فایربیس برای داده‌های اکسپورت شده شما، مجموعه داده‌های جدیدی در BigQuery ایجاد می‌کند:



مجموعه داده Crashlytics

داده‌های Crashlytics به یک مجموعه داده BigQuery به نام firebase_crashlytics منتقل می‌شوند. این مجموعه داده کل پروژه شما را پوشش می‌دهد، حتی اگر چندین برنامه داشته باشد.

جداول

به طور پیش‌فرض، فایربیس برای هر برنامه در پروژه شما که به BigQuery لینک شده است، جداول جداگانه‌ای را در مجموعه داده‌های Crashlytics ایجاد می‌کند.

جداول بر اساس شناسه برنامه (با تبدیل نقطه به زیرخط) نامگذاری شده و پلتفرم برنامه ( _IOS یا _ANDROID ) به آنها اضافه می‌شود. برای مثال، داده‌های یک برنامه اندروید با نام بسته com.google.test در جدولی با نام com_google_test_ANDROID قرار می‌گیرند.

  • اگر ارسال استریم به BigQuery فعال باشد، داده‌ها به صورت بلادرنگ به جدولی که با _REALTIME (مثلاً com_google_test_ANDROID_REALTIME ) اضافه شده است، استریم می‌شوند.

  • هر ردیف در یک جدول، نشان‌دهنده‌ی رویدادی است که در برنامه رخ داده است، از جمله خرابی‌ها، خطاهای غیرمهلک و ANRها.

  • این جداول علاوه بر کلیدهای سفارشی Crashlytics که توسط شما در برنامه‌تان ( iOS+ | Android | Flutter | Unity ) تعریف شده‌اند، حاوی مجموعه‌ای استاندارد از داده‌های Crashlytics نیز هستند.

ردیف‌ها

هر سطر در یک جدول نشان دهنده خطایی است که برنامه با آن مواجه شده است.

ستون‌ها

ستون‌های یک جدول برای خرابی‌ها، خطاهای غیرمهلک و ANRها یکسان هستند.

  • اگر ارسال جریانی به BigQuery فعال باشد، جدول بی‌درنگ ستون‌های مشابه جدول دسته‌ای را خواهد داشت.

  • ممکن است ستون‌هایی در ردیف‌ها داشته باشید که نشان‌دهنده رویدادهایی باشند که ردپای پشته‌ای ندارند.

ستون‌های جدول مربوط به داده‌های خروجی Crashlytics به شرح زیر است:

نام فیلد نوع داده توضیحات
app_orientation رشته برای مثال، PORTRAIT ، LANDSCAPE ، FACE_UP ، FACE_DOWN و غیره.
application رکورد برنامه‌ای که این رویداد را ایجاد کرده است
application.build_version رشته نسخه ساخت برنامه
application.display_version رشته
blame_frame رکورد فریمی که به عنوان علت اصلی خرابی یا خطا شناسایی شده است
blame_frame.address INT64 آدرس موجود در تصویر دودویی که حاوی کد است
برای فریم‌های جاوا تنظیم نشده است
blame_frame.blamed بولی اینکه آیا Crashlytics تشخیص داده است که این فریم علت خرابی یا خطا است یا خیر
blame_frame.file رشته نام فایل فریم
blame_frame.library رشته نام نمایشی کتابخانه‌ای که شامل قاب است
blame_frame.line INT64 شماره خط فایل فریم
blame_frame.offset INT64 بایت آفست به تصویر دودویی که حاوی کد است
برای استثنائات جاوا تنظیم نشده است
blame_frame.owner رشته برای مثال، DEVELOPER ، VENDOR ، RUNTIME ، PLATFORM یا SYSTEM
blame_frame.symbol رشته نماد هیدراته یا نماد خام در صورت عدم هیدراته بودن
breadcrumbs رکورد تکرار شده در صورت فعال بودن، مسیریاب‌های Google Analytics با مهر زمانی
breadcrumbs.name رشته نام مرتبط با بردکرامب
breadcrumbs.params رکورد تکرار شده پارامترهای مرتبط با breadcrumb
breadcrumbs.params.key رشته یک کلید پارامتر مرتبط با breadcrumb
breadcrumbs.params.value رشته مقدار پارامتر مرتبط با breadcrumb
breadcrumbs.timestamp مهر زمانی مهر زمانی مرتبط با breadcrumb
bundle_identifier رشته شناسه منحصر به فرد برای برنامه همانطور که در پروژه Firebase ثبت شده است (برای مثال، com.google.gmail )
برای برنامه‌های پلتفرم اپل، این شناسه بسته (bundle ID) برنامه است.
برای برنامه‌های اندروید، این نام بسته‌ی برنامه است.
crashlytics_sdk_versions رشته نسخه SDK Crashlytics که این رویداد را ایجاد کرده است
custom_keys رکورد تکرار شده جفت‌های کلید-مقدار تعریف‌شده توسط توسعه‌دهنده
custom_keys.key رشته یک کلید تعریف‌شده توسط توسعه‌دهنده
custom_keys.value رشته مقداری که توسط توسعه‌دهنده تعریف شده است
device رکورد دستگاهی که رویداد روی آن رخ داده است
device_orientation رشته برای مثال، PORTRAIT ، LANDSCAPE ، FACE_UP ، FACE_DOWN و غیره.
device.architecture رشته برای مثال، X86_32 ، X86_64 ، ARMV7 ، ARM64 ، ARMV7S یا ARMV7K
device.manufacturer رشته سازنده دستگاه
device.model رشته مدل دستگاه
error رکورد تکرار شده (فقط برنامه‌های اپل) خطاهای غیرمهلک
error_type رشته نوع خطای رویداد (برای مثال، FATAL ، NON_FATAL ، ANR و غیره)
error.blamed بولی آیا Crashlytics تشخیص داده است که این فریم علت خطا است یا خیر
error.code INT64 کد خطای مرتبط با NSError ثبت‌شده‌ی سفارشی برنامه
error.frames رکورد تکرار شده فریم‌های stacktrace
error.frames.address INT64 آدرس موجود در تصویر دودویی که حاوی کد است
error.frames.blamed بولی آیا Crashlytics تشخیص داده است که این فریم علت خطا است یا خیر
error.frames.file رشته نام فایل فریم
error.frames.library رشته نام نمایشی کتابخانه‌ای که شامل قاب است
error.frames.line INT64 شماره خط فایل فریم
error.frames.offset INT64 بایت آفست به تصویر دودویی که حاوی کد است
error.frames.owner رشته برای مثال، DEVELOPER ، VENDOR ، RUNTIME ، PLATFORM یا SYSTEM
error.frames.symbol رشته نماد هیدراته یا نماد خام در صورت عدم هیدراته بودن
error.queue_name رشته صفی که نخ در آن اجرا می‌شد
error.subtitle رشته زیرعنوان تاپیک
error.title رشته عنوان تاپیک
event_id رشته شناسه منحصر به فرد برای رویداد
event_timestamp مهر زمانی وقتی رویداد رخ داد
exceptions رکورد تکرار شده (فقط اندروید) استثناهایی که در طول این رویداد رخ داده‌اند. استثناهای تو در تو به ترتیب زمانی معکوس نمایش داده می‌شوند، به این معنی که آخرین رکورد، اولین استثنای رخ داده است.
exceptions.blamed بولی اگر Crashlytics تشخیص دهد که استثنا مسئول خطا یا خرابی است، صحیح است.
exceptions.exception_message رشته پیامی مرتبط با استثنا
exceptions.frames رکورد تکرار شده فریم‌های مرتبط با استثنا
exceptions.frames.address INT64 آدرس موجود در تصویر دودویی که حاوی کد است
برای فریم‌های جاوا تنظیم نشده است
exceptions.frames.blamed بولی اینکه آیا Crashlytics تشخیص داده است که این فریم علت خرابی یا خطا است یا خیر
exceptions.frames.file رشته نام فایل فریم
exceptions.frames.library رشته نام نمایشی کتابخانه‌ای که شامل قاب است
exceptions.frames.line INT64 شماره خط فایل فریم
exceptions.frames.offset INT64 بایت آفست به تصویر دودویی که حاوی کد است
برای استثنائات جاوا تنظیم نشده است
exceptions.frames.owner رشته برای مثال، DEVELOPER ، VENDOR ، RUNTIME ، PLATFORM یا SYSTEM
exceptions.frames.symbol رشته نماد هیدراته یا نماد خام در صورت عدم هیدراته بودن
exceptions.nested بولی برای همه موارد به جز استثنای آخرین رکورد (یعنی اولین رکورد) صادق است.
exceptions.subtitle رشته زیرعنوان تاپیک
exceptions.title رشته عنوان تاپیک
exceptions.type رشته نوع استثنا (برای مثال، java.lang.IllegalStateException)
firebase_session_id رشته شناسه‌ای که به طور خودکار برای جلسه Firebase ایجاد شده و از Crashlytics به رویداد نگاشت شده است
installation_uuid رشته شناسه‌ای که یک برنامه و نصب دستگاه منحصر به فرد را مشخص می‌کند
is_fatal بولی اینکه آیا برنامه از کار افتاده است یا خیر
issue_id رشته مسئله مرتبط با رویداد
logs رکورد تکرار شده پیام‌های لاگ با مهر زمانی تولید شده توسط ثبت‌کننده‌ی Crashlytics ، در صورت فعال بودن
logs.message رشته پیام ثبت شده
logs.timestamp مهر زمانی وقتی لاگ ساخته شد
memory رکورد وضعیت حافظه دستگاه
memory.free INT64 بایت‌های حافظه باقی مانده
memory.used INT64 بایت‌های حافظه استفاده شده
operating_system رکورد جزئیات سیستم عامل روی دستگاه
operating_system.device_type رشته نوع دستگاه (مثلاً MOBILE ، TABLET ، TV و غیره)؛ همچنین به عنوان "دسته دستگاه" شناخته می‌شود.
operating_system.display_version رشته نسخه سیستم عامل روی دستگاه
operating_system.modification_state رشته اینکه آیا دستگاه تغییر داده شده است یا خیر (برای مثال، یک برنامه جیلبریک شده MODIFIED و یک برنامه روت شده UNMODIFIED است)
operating_system.name رشته نام سیستم عامل روی دستگاه
operating_system.type رشته (فقط برنامه‌های اپل) نوع سیستم عامل در حال اجرا روی دستگاه (مثلاً IOS ، MACOS و غیره)
platform رشته پلتفرم برنامه همانطور که در پروژه Firebase ثبت شده است (مقادیر معتبر: IOS یا ANDROID )
process_state رشته BACKGROUND یا FOREGROUND
storage رکورد حافظه دائمی دستگاه
storage.free INT64 بایت‌های فضای ذخیره‌سازی باقی‌مانده
storage.used INT64 بایت‌های فضای ذخیره‌سازی استفاده شده
threads رکورد تکرار شده موضوعات موجود در زمان رویداد
threads.blamed بولی اینکه آیا Crashlytics تشخیص داده است که این فریم علت خرابی یا خطا است یا خیر
threads.code INT64 (فقط برنامه‌های اپل) کد خطای NSError ثبت‌شده‌ی سفارشی برنامه
threads.crash_address INT64 آدرس سیگنالی که باعث از کار افتادن برنامه شده است؛ فقط در نخ‌های بومی از کار افتاده وجود دارد
threads.crashed بولی اینکه آیا تاپیک از کار افتاده یا نه
threads.frames رکورد تکرار شده قاب‌های نخ
threads.frames.address INT64 آدرس موجود در تصویر دودویی که حاوی کد است
threads.frames.blamed بولی آیا Crashlytics تشخیص داده است که این فریم علت خطا است یا خیر
threads.frames.file رشته نام فایل فریم
threads.frames.library رشته نام نمایشی کتابخانه‌ای که شامل قاب است
threads.frames.line INT64 شماره خط فایل فریم
threads.frames.offset INT64 بایت آفست به تصویر دودویی که حاوی کد است
threads.frames.owner رشته برای مثال، DEVELOPER ، VENDOR ، RUNTIME ، PLATFORM یا SYSTEM
threads.frames.symbol رشته نماد هیدراته یا نماد خام در صورت غیرقابل هیدراته بودن
threads.queue_name رشته (فقط برنامه‌های اپل) صفی که رشته در آن اجرا می‌شد
threads.signal_code رشته کد سیگنالی که باعث خرابی برنامه شده است؛ فقط در نخ‌های بومی خراب‌شده وجود دارد
threads.signal_name رشته نام سیگنالی که باعث خرابی برنامه شده است، فقط در نخ‌های بومی خراب‌شده وجود دارد
threads.subtitle رشته زیرعنوان تاپیک
threads.thread_name رشته نام تاپیک
threads.title رشته عنوان تاپیک
unity_metadata.debug_build بولی اگر این یک ساخت اشکال‌زدایی است
unity_metadata.graphics_copy_texture_support رشته پشتیبانی از کپی کردن بافت گرافیکی همانطور که در API یونیتی تعریف شده است
unity_metadata.graphics_device_id INT64 شناسه دستگاه گرافیکی
unity_metadata.graphics_device_name رشته نام دستگاه گرافیکی
unity_metadata.graphics_device_type رشته نوع دستگاه گرافیکی
unity_metadata.graphics_device_vendor_id INT64 شناسه فروشنده پردازنده گرافیکی
unity_metadata.graphics_device_vendor رشته فروشنده دستگاه گرافیکی
unity_metadata.graphics_device_version رشته نسخه دستگاه گرافیکی
unity_metadata.graphics_max_texture_size INT64 حداکثر اندازه اختصاص داده شده به رندر بافت
unity_metadata.graphics_memory_size_mb INT64 حافظه گرافیکی بر حسب مگابایت
unity_metadata.graphics_render_target_count INT64 تعداد اهداف رندر گرافیکی
unity_metadata.graphics_shader_level INT64 سطح سایه‌زنی گرافیک
unity_metadata.processor_count INT64 تعداد پردازنده‌ها (هسته‌ها)
unity_metadata.processor_frequency_mhz INT64 فرکانس پردازنده (ها) بر حسب مگاهرتز
unity_metadata.processor_type رشته نوع پردازنده
unity_metadata.screen_refresh_rate_hz INT64 نرخ تازه‌سازی صفحه نمایش بر حسب هرتز
unity_metadata.screen_resolution_dpi رشته DPI صفحه نمایش به عنوان یک عدد ممیز شناور
unity_metadata.screen_size_px رشته اندازه صفحه نمایش بر حسب پیکسل، با فرمت عرض × ارتفاع
unity_metadata.system_memory_size_mb INT64 اندازه حافظه سیستم بر حسب مگابایت
unity_metadata.unity_version رشته نسخه یونیتی که روی این دستگاه اجرا می‌شود
user رکورد (اختیاری) اطلاعات جمع‌آوری‌شده درباره کاربر برنامه
user.email رشته (اختیاری) آدرس ایمیل کاربر
user.id رشته (اختیاری) یک شناسه مخصوص برنامه که به کاربر مرتبط است
user.name رشته (اختیاری) نام کاربر
variant_id رشته نوع مشکل مرتبط با این رویداد
توجه داشته باشید که همه رویدادها دارای یک نوع مشکل مرتبط نیستند.



مجموعه داده‌های جلسات فایربیس

داده‌های جلسات Firebase به یک مجموعه داده BigQuery به نام firebase_sessions صادر می‌شوند. این مجموعه داده کل پروژه شما را پوشش می‌دهد، حتی اگر چندین برنامه داشته باشد.

جداول

به طور پیش‌فرض، فایربیس برای هر برنامه در پروژه شما که به BigQuery لینک شده است، جداول جداگانه‌ای را در مجموعه داده‌های جلسات فایربیس ایجاد می‌کند.

جداول بر اساس شناسه برنامه (با تبدیل نقطه به زیرخط) نامگذاری شده و پلتفرم برنامه ( _IOS یا _ANDROID ) به آنها اضافه می‌شود. برای مثال، داده‌های یک برنامه اندروید با نام بسته com.google.test در جدولی با نام com_google_test_ANDROID قرار می‌گیرند.

ردیف‌ها

هر ردیف در یک جدول نشان دهنده یک رویداد جلسه است که اتفاق افتاده است.

ستون‌ها

اگر ارسال جریانی به BigQuery فعال باشد، جدول بی‌درنگ ستون‌های مشابه جدول دسته‌ای را خواهد داشت.

ستون‌های درون جدول مربوط به داده‌های جلسات خروجی فایربیس به شرح زیر است:

نام فیلد نوع داده توضیحات
instance_id رشته شناسه نصب Firebase (FID) از دستگاه. یک برنامه منحصر به فرد + نصب دستگاه را شناسایی می‌کند.
session_id رشته شناسه منحصر به فرد این جلسه
first_session_id رشته اولین شناسه‌ی یک سری از جلساتی که این جلسه از زمان شروع سرد برنامه در آن قرار دارد. این می‌تواند برای گروه‌بندی تمام جلساتی که از زمان شروع سرد رخ داده‌اند، استفاده شود. اگر این جلسه، اولین جلسه باشد، این فیلد همان session_id خواهد بود.
session_index عدد صحیح ترتیب این جلسه پس از شروع سرد برنامه ایجاد شده است. برای اولین جلسه پس از شروع سرد، این مقدار 0 خواهد بود. هر بار که یک جلسه بدون شروع سرد ایجاد شود (مثلاً پس از 30 دقیقه عدم فعالیت)، این شاخص افزایش می‌یابد.
event_type رشته نوع رویدادی که در جلسه اتفاق افتاده است (برای مثال، SESSION_START )
event_timestamp مهر زمانی زمان وقوع رویداد
received_timestamp مهر زمانی زمان دریافت رویداد توسط سرور از دستگاه
performance_data_collection_enabled بولی آیا جمع‌آوری داده‌های Firebase Performance Monitoring SDK در زمان جلسه فعال بوده است یا خیر
crashlytics_data_collection_enabled بولی اینکه آیا جمع‌آوری داده‌های Firebase Crashlytics SDK در زمان جلسه فعال بوده است یا خیر
application رکورد برنامه را شرح می‌دهد
application.build_version رشته نسخه ساخت برنامه (برای مثال، 1523456 )
application.display_version رشته نسخه نمایشی برنامه (برای مثال، 4.1.7 )
device رکورد دستگاهی که رویداد روی آن رخ داده است
device.model رشته مدل دستگاه
device.manufacturer رشته سازنده دستگاه. برای برنامه‌های پلتفرم اپل، این NULL خواهد بود.
operating_system رکورد سیستم عامل دستگاه را شرح می‌دهد
operating_system.display_version رشته نسخه نمایشی سیستم عامل (برای مثال، 10.2.1 )
operating_system.name رشته نام سیستم عامل
operating_system.type رشته نوع سیستم عامل (مثلاً IOS ). این فیلد فقط برای دستگاه‌های اپل تنظیم شده است.
operating_system.device_type رشته نوع دستگاه (مثلاً MOBILE ، TABLET ، TV )