BigQuery 中匯出資料的資料集結構定義

本頁面提供 BigQuery 中匯出的Crashlytics資料和 Firebase 工作階段資料的資料集結構定義。

Firebase 會在 BigQuery 中為匯出的資料建立新的資料集:



Crashlytics 個資料集

Crashlytics 資料會匯出至名為 firebase_crashlytics 的 BigQuery 資料集。資料集涵蓋整個專案,即使專案有多個應用程式也一樣。

表格

根據預設,Firebase 會在 Crashlytics 資料集內,為專案中連結至 BigQuery 的每個應用程式建立個別資料表。

資料表的命名依據是應用程式的 ID (句號會轉換為底線),並附加應用程式的平台 (_IOS 或 _ANDROID)。舉例來說,套件名稱為 com.google.test 的 Android 應用程式資料會位於名為 com_google_test_ANDROID 的資料表中。

  • 如果啟用串流匯出至 BigQuery,資料也會即時串流至附加 _REALTIME 的資料表 (例如 com_google_test_ANDROID_REALTIME)。

  • 表格中的每一列都代表應用程式中發生的事件,包括當機、非致命錯誤和 ANR。

  • 除了您在應用程式中定義的任何自訂 Crashlytics 鍵 (iOS+ | Android | Flutter | Unity) 之外,資料表還包含一組標準 Crashlytics 資料。

資料列

每個在資料表中的資料列都代表應用程式遇到的某個錯誤。

欄

當機、非致命錯誤和 ANR 的表格欄位都相同。

  • 如果啟用串流匯出至 BigQuery 的功能,即時資料表會與批次資料表有相同的資料欄。

  • 資料列中的資料欄可能代表沒有堆疊追蹤的事件。

匯出的Crashlytics資料表包含下列資料欄:

欄位名稱 資料類型 說明
app_orientation STRING 例如 PORTRAIT、LANDSCAPE、FACE_UP、FACE_DOWN 等。
application RECORD 產生事件的應用程式
application.build_version STRING 應用程式的建構版本
application.display_version STRING
blame_frame RECORD 系統判定為當機或錯誤根本原因的影格
blame_frame.address INT64 二進位映像檔中包含程式碼的位址
Java 框架未設定
blame_frame.blamed BOOLEAN Crashlytics 是否判定這個框架是造成當機或錯誤的原因
blame_frame.file STRING 影格檔案名稱
blame_frame.library STRING 包含影格的程式庫顯示名稱
blame_frame.line INT64 影格檔案的行號
blame_frame.offset INT64 二進位映像檔中包含程式碼的位元組偏移量
未設定 Java 例外狀況
blame_frame.owner STRING 例如:DEVELOPER、VENDOR、RUNTIME、PLATFORM 或 SYSTEM
blame_frame.symbol STRING 解壓縮符號,或無法解壓縮時的原始符號
breadcrumbs REPEATED RECORD Google Analytics 導覽標記 (如有啟用)
breadcrumbs.name STRING 與導覽標記相關聯的名稱
breadcrumbs.params REPEATED RECORD 與導覽標記相關聯的參數
breadcrumbs.params.key STRING 與麵包屑導覽相關聯的參數鍵
breadcrumbs.params.value STRING 與導覽標記相關聯的參數值
breadcrumbs.timestamp TIMESTAMP 與導覽標記相關聯的時間戳記
bundle_identifier STRING 在 Firebase 專案中註冊的應用程式專屬 ID (例如 com.google.gmail)
如果是 Apple 平台應用程式,這是應用程式的軟體包 ID。
如果是 Android 應用程式,這是應用程式的套件名稱。
crashlytics_sdk_versions STRING 產生事件的 Crashlytics SDK 版本
custom_keys REPEATED RECORD 開發人員定義的鍵/值組合
custom_keys.key STRING 開發人員定義的金鑰
custom_keys.value STRING 開發人員定義的值
device RECORD 發生事件的裝置
device_orientation STRING 例如 PORTRAIT、LANDSCAPE、FACE_UP、FACE_DOWN 等。
device.architecture STRING 例如:X86_32、X86_64、ARMV7、ARM64、ARMV7S 或 ARMV7K
device.manufacturer STRING 裝置製造商
device.model STRING 裝置型號
error REPEATED RECORD (僅限 Apple 應用程式) 一般錯誤
error_type STRING 事件的錯誤類型 (例如 FATAL、NON_FATAL、ANR 等)。
error.blamed BOOLEAN Crashlytics 是否判定這個框架是錯誤原因
error.code INT64 與應用程式自訂記錄 NSError 相關聯的錯誤代碼
error.frames REPEATED RECORD 堆疊追蹤的框架
error.frames.address INT64 二進位映像檔中包含程式碼的位址
error.frames.blamed BOOLEAN Crashlytics 是否判定這個框架是錯誤原因
error.frames.file STRING 影格檔案名稱
error.frames.library STRING 包含影格的程式庫顯示名稱
error.frames.line INT64 影格檔案的行號
error.frames.offset INT64 二進位映像檔中包含程式碼的位元組偏移
error.frames.owner STRING 例如:DEVELOPER、VENDOR、RUNTIME、PLATFORM 或 SYSTEM
error.frames.symbol STRING 解壓縮後的符號,或無法解壓縮時的原始符號
error.queue_name STRING 執行緒執行的佇列
error.subtitle STRING 討論串的副標題
error.title STRING 討論串標題
event_id STRING 事件的專屬 ID
event_timestamp TIMESTAMP 事件發生時間
exceptions REPEATED RECORD (僅限 Android) 此事件期間發生的例外狀況。巢狀例外狀況會依時間倒序排列,也就是說,最後一筆記錄是第一個擲回的例外狀況
exceptions.blamed BOOLEAN 如果 Crashlytics 判定例外狀況是錯誤或當機的原因,則為 True
exceptions.exception_message STRING 與例外狀況相關聯的訊息
exceptions.frames REPEATED RECORD 與例外狀況相關聯的框架
exceptions.frames.address INT64 二進位映像檔中包含程式碼的位址
Java 框架未設定
exceptions.frames.blamed BOOLEAN Crashlytics 是否判定這個框架是造成當機或錯誤的原因
exceptions.frames.file STRING 影格檔案名稱
exceptions.frames.library STRING 包含影格的程式庫顯示名稱
exceptions.frames.line INT64 影格檔案的行號
exceptions.frames.offset INT64 二進位映像檔中包含程式碼的位元組偏移量
未設定 Java 例外狀況
exceptions.frames.owner STRING 例如:DEVELOPER、VENDOR、RUNTIME、PLATFORM 或 SYSTEM
exceptions.frames.symbol STRING 解壓縮後的符號,或無法解壓縮時的原始符號
exceptions.nested BOOLEAN 除了最後擲回的例外狀況 (即第一筆記錄) 以外,其餘皆為 True
exceptions.subtitle STRING 討論串的副標題
exceptions.title STRING 討論串標題
exceptions.type STRING 例外狀況類型 (例如 java.lang.IllegalStateException)
firebase_session_id STRING 自動產生的 Firebase 工作階段 ID,對應至 Crashlytics 的事件
installation_uuid STRING 用於識別不重複應用程式和裝置安裝的 ID
is_fatal BOOLEAN 應用程式是否當機
issue_id STRING 與事件相關聯的問題
logs REPEATED RECORD Crashlytics 記錄器產生的時間戳記記錄訊息 (如已啟用)
logs.message STRING 記錄訊息
logs.timestamp TIMESTAMP 記錄建立時間
memory RECORD 裝置的記憶體狀態
memory.free INT64 剩餘記憶體位元組
memory.used INT64 已使用的記憶體位元組數
operating_system RECORD 裝置 OS 的詳細資料
operating_system.device_type STRING 裝置類型 (例如 MOBILE、TABLET、TV 等),也稱為「裝置類別」
operating_system.display_version STRING 裝置的 OS 版本
operating_system.modification_state STRING 裝置是否經過修改 (例如,越獄解鎖的應用程式為 MODIFIED,啟用 Root 權限的應用程式為 UNMODIFIED)
operating_system.name STRING 裝置上的 OS 名稱
operating_system.type STRING (僅限 Apple 應用程式) 裝置上執行的 OS 類型 (例如 IOS、MACOS 等)。
platform STRING 在 Firebase 專案中註冊的應用程式平台 (有效值:IOS 或 ANDROID)
process_state STRING BACKGROUND或FOREGROUND
storage RECORD 裝置的永久儲存空間
storage.free INT64 剩餘儲存空間位元組數
storage.used INT64 已使用的儲存空間位元組數
threads REPEATED RECORD 事件發生時的執行緒
threads.blamed BOOLEAN Crashlytics 是否判定這個框架是造成當機或錯誤的原因
threads.code INT64 (僅限 Apple 應用程式) 應用程式自訂記錄 NSError 的錯誤代碼
threads.crash_address INT64 導致應用程式停止運作的信號位址;僅顯示於停止運作的原生執行緒
threads.crashed BOOLEAN 執行緒是否異常終止
threads.frames REPEATED RECORD 執行緒的影格
threads.frames.address INT64 二進位映像檔中包含程式碼的位址
threads.frames.blamed BOOLEAN Crashlytics 是否判定這個框架是錯誤原因
threads.frames.file STRING 影格檔案名稱
threads.frames.library STRING 包含影格的程式庫顯示名稱
threads.frames.line INT64 影格檔案的行號
threads.frames.offset INT64 二進位映像檔中包含程式碼的位元組偏移
threads.frames.owner STRING 例如:DEVELOPER、VENDOR、RUNTIME、PLATFORM 或 SYSTEM
threads.frames.symbol STRING 已解壓縮的符號,或無法解壓縮的原始符號
threads.queue_name STRING (僅限 Apple 應用程式) 執行執行緒的佇列
threads.signal_code STRING 導致應用程式異常終止的信號代碼;僅顯示在異常終止的原生執行緒上
threads.signal_name STRING 導致應用程式停止運作的信號名稱,僅顯示於停止運作的原生執行緒
threads.subtitle STRING 討論串的副標題
threads.thread_name STRING 討論串名稱
threads.title STRING 討論串標題
unity_metadata.debug_build BOOLEAN 如果這是偵錯版本
unity_metadata.graphics_copy_texture_support STRING 支援複製 Unity API 中定義的圖形紋理
unity_metadata.graphics_device_id INT64 圖形裝置的 ID
unity_metadata.graphics_device_name STRING 圖形裝置的名稱
unity_metadata.graphics_device_type STRING 顯示卡裝置類型
unity_metadata.graphics_device_vendor_id INT64 圖形處理器供應商的 ID
unity_metadata.graphics_device_vendor STRING 圖形裝置的供應商
unity_metadata.graphics_device_version STRING 圖形裝置的版本
unity_metadata.graphics_max_texture_size INT64 專用於轉譯紋理的大小上限
unity_metadata.graphics_memory_size_mb INT64 圖形記憶體 (MB)
unity_metadata.graphics_render_target_count INT64 圖形算繪目標數量
unity_metadata.graphics_shader_level INT64 圖形的著色器等級
unity_metadata.processor_count INT64 處理器 (核心) 數量
unity_metadata.processor_frequency_mhz INT64 處理器頻率(MHz)
unity_metadata.processor_type STRING 處理器類型
unity_metadata.screen_refresh_rate_hz INT64 螢幕刷新率 (Hz)
unity_metadata.screen_resolution_dpi STRING 螢幕的 DPI (浮點數)
unity_metadata.screen_size_px STRING 螢幕大小 (以像素為單位),格式為「寬度 x 高度」
unity_metadata.system_memory_size_mb INT64 系統記憶體大小 (以 MB 為單位)
unity_metadata.unity_version STRING 這部裝置上執行的 Unity 版本
user RECORD (選用) 收集的應用程式使用者相關資訊
user.email STRING (選用) 使用者的電子郵件地址
user.id STRING (選用) 與使用者相關聯的應用程式專屬 ID
user.name STRING (選用) 使用者名稱
variant_id STRING 與這個事件相關聯的問題變體
請注意,並非所有事件都有相關聯的問題變體。



Firebase 工作階段資料集

Firebase 工作階段資料會匯出至名為 firebase_sessions 的 BigQuery 資料集。資料集涵蓋整個專案,即使專案有多個應用程式也一樣。

表格

根據預設,Firebase 會在 Firebase 工作階段資料集中,為專案內連結至 BigQuery 的每個應用程式建立個別資料表。

資料表的命名依據是應用程式的 ID (句號會轉換為底線),並附加應用程式的平台 (_IOS 或 _ANDROID)。舉例來說,套件名稱為 com.google.test 的 Android 應用程式資料,會位於名為 com_google_test_ANDROID 的資料表中。

資料列

表格中的每一列都代表發生的工作階段事件。

欄

如果啟用串流匯出至 BigQuery 的功能,即時資料表會與批次資料表有相同的資料欄。

以下是匯出的 Firebase 工作階段資料表格中的資料欄:

欄位名稱 資料類型 說明
instance_id STRING 裝置的 Firebase 安裝 ID (FID)。識別不重複的應用程式 + 裝置安裝
session_id STRING 這個工作階段的專屬 ID
first_session_id STRING 自應用程式冷啟動以來,這個工作階段所在的一系列工作階段的第一個 ID。這可用來將冷啟動後發生的所有工作階段分組。如果這是第一個工作階段,這個欄位會與 session_id 相同。
session_index INTEGER 應用程式冷啟動後,這個工作階段的順序。冷啟動後的第一個工作階段,這個值會是 0。每次產生工作階段且未發生冷啟動 (例如閒置 30 分鐘後),索引就會遞增。
event_type STRING 工作階段中發生的事件類型 (例如 SESSION_START)
event_timestamp TIMESTAMP 事件發生時間
received_timestamp TIMESTAMP 伺服器從裝置收到事件的時間
performance_data_collection_enabled BOOLEAN 工作階段期間是否啟用 Firebase Performance Monitoring SDK 資料收集功能
crashlytics_data_collection_enabled BOOLEAN 工作階段期間是否啟用 Firebase Crashlytics SDK 資料收集功能
application RECORD 說明應用程式
application.build_version STRING 應用程式的版本 (例如 1523456)
application.display_version STRING 應用程式的顯示版本 (例如 4.1.7)
device RECORD 發生事件的裝置
device.model STRING 裝置的型號
device.manufacturer STRING 裝置製造商。如果是 Apple 平台應用程式,則為 NULL。
operating_system RECORD 說明裝置的 OS
operating_system.display_version STRING 作業系統的顯示版本 (例如 10.2.1)
operating_system.name STRING 作業系統名稱
operating_system.type STRING 作業系統類型 (例如 IOS)。這個欄位僅適用於 Apple 裝置。
operating_system.device_type STRING 裝置類型 (例如 MOBILE、TABLET、TV)