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

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

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



Crashlytics 個資料集

Crashlytics資料會匯出至名為「」BigQuery的資料集firebase_crashlytics。這個資料集會涵蓋整個專案,即使專案包含多個應用程式亦同。

資料表

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

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

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

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

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

資料列

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

對於當機、輕微錯誤和 ANR 來說,資料表中的資料欄都完全相同。

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

  • 您可能在代表事件的資料列中,有不含堆疊追蹤記錄的資料欄。

下表列出匯出 Crashlytics 資料時,表格中會顯示的資料欄:

欄位名稱 資料類型 說明
app_orientation STRING 例如 PORTRAITLANDSCAPEFACE_UPFACE_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 例如:DEVELOPERVENDORRUNTIMEPLATFORMSYSTEM
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 例如 PORTRAITLANDSCAPEFACE_UPFACE_DOWN 等。
device.architecture STRING 例如:X86_32X86_64ARMV7ARM64ARMV7SARMV7K
device.manufacturer STRING 裝置製造商
device.model STRING 裝置型號
error REPEATED RECORD (僅限 Apple 應用程式) 一般錯誤
error_type STRING 事件的錯誤類型 (例如 FATALNON_FATALANR 等)
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 例如:DEVELOPERVENDORRUNTIMEPLATFORMSYSTEM
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 例如:DEVELOPERVENDORRUNTIMEPLATFORMSYSTEM
exceptions.frames.symbol STRING 水合符號,或無法水合的原始符號
exceptions.nested BOOLEAN 適用於所有例外狀況,但最後擲回的例外狀況除外 (也就是第一個記錄)
exceptions.subtitle STRING 討論串的子標題
exceptions.title STRING 討論串標題
exceptions.type STRING 例外狀況類型 (例如 java.lang.IllegalStateException))
firebase_session_id STRING 系統自動為對應至事件的 Firebase 工作階段產生的 ID 來自 Crashlytics
installation_uuid STRING 用於識別不重複的應用程式和裝置安裝作業
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 裝置作業系統的詳細資料
operating_system.device_type STRING 裝置類型 (例如 MOBILETABLETTV 等),也稱為「裝置類別」
operating_system.display_version STRING 裝置上的作業系統版本
operating_system.modification_state STRING 裝置是否經過修改 (例如已越獄解鎖的應用程式為 MODIFIED,已啟用 Root 權限的應用程式為 UNMODIFIED)
operating_system.name STRING 裝置上的作業系統名稱
operating_system.type STRING (僅限 Apple 應用程式) 裝置執行的作業系統類型 (例如 IOSMACOS 等)
platform STRING 在 Firebase 專案中註冊的應用程式平台 (有效值:IOSANDROID)
process_state STRING BACKGROUNDFOREGROUND
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 例如:DEVELOPERVENDORRUNTIMEPLATFORMSYSTEM
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 工作階段資料會匯出至名為 BigQuery 的資料集。firebase_sessions這個資料集會涵蓋整個專案,即使專案包含多個應用程式亦同。

資料表

根據預設,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 效能監控 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 裝置類型 (例如 MOBILETABLETTV)