本頁面提供匯出 Crashlytics 資料和 Firebase 工作階段資料的記錄結構定義。Cloud Logging
Firebase 工作階段結構定義 (如果已啟用匯出工作階段資料)
Crashlytics 個結構定義
Event
說明單一 Crashlytics 事件的訊息。
JSON 表示法
{
"name": string,
"platform": string,
"bundleOrPackage": string,
"eventId": string,
"sessionId": string,
"eventTime": string,
"receivedTime": string,
"issue": {
object (Issue)
},
"issueVariant": {
object (IssueVariant)
},
"device": {
object (Device)
},
"memory": {
object (Memory)
},
"storage": {
object (Storage)
},
"operatingSystem": {
object (OperatingSystem)
},
"browser": {
object (Browser)
},
"version": {
object (Version)
},
"user": {
object (User)
},
"customKeys": {
string: string,
...
},
"installationUuid": string,
"crashlyticsSdkVersion": string,
"appOrientation": string,
"deviceOrientation": string,
"logs": [
{
object (Log)
}
],
"breadcrumbs": [
{
object (Breadcrumb)
}
],
"blameFrame": {
object (Frame)
},
"exceptions": [
{
object (Exception)
}
],
"errors": [
{
object (Error)
}
],
"threads": [
{
object (Thread)
}
],
"processState": string,
"issueTitle": string,
"issueSubtitle": string,
"buildStamp": string
}
| 欄位 | 說明 |
|---|---|
name |
string
必要。僅供輸出。
不可變動。ID。活動資源的名稱。格式:
|
platform |
string
行動平台 (Android 或 iOS)。 |
bundleOrPackage |
string
iOS 應用程式的軟體包名稱或 Android 應用程式的套件名稱。
格式: |
eventId |
string
僅供輸出。不可變動。處理期間會指派專屬事件 ID。 |
sessionId |
string
Firebase 工作階段的專屬 ID。 |
eventTime |
string (Timestamp format)
記錄事件時的裝置時間戳記。 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。例如:「2014-10-02T15:01:23Z」、「2014-10-02T15:01:23.045123456Z」或「2014-10-02T15:01:23+05:30」。 |
receivedTime |
string (Timestamp format)
Crashlytics 接收到事件時的伺服器時間戳記。 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。例如:「2014-10-02T15:01:23Z」、「2014-10-02T15:01:23.045123456Z」或「2014-10-02T15:01:23+05:30」。 |
issue |
object (Issue)
指派給這個 [事件] 的 [問題]詳細資料。 |
issueVariant |
object (IssueVariant)
指派給這個 [Event] 的 [IssueVariant]詳細資料。 |
device |
object (Device)
行動裝置中繼資料。 |
memory |
object (Memory)
行動裝置記憶體用量。 |
storage |
object (Storage)
行動裝置的磁碟/快閃記憶體用量。 |
operatingSystem |
object (OperatingSystem)
作業系統和版本。 |
browser |
object (Browser)
瀏覽器和版本。 |
version |
object (Version)
行動應用程式版本。 |
user |
object (User)
裝置擁有者的使用者 ID。 |
customKeys |
map (key: string, value: string)
開發人員在工作階段期間設定的自訂鍵。 含有「鍵」:值組合清單的物件。例如:{ "name": "wrench", "mass": "1.3kg", "count": "3" }。 |
installationUuid |
string
裝置應用程式安裝作業的專屬 ID。這個欄位用於計算受影響的不重複使用者人數。 |
crashlyticsSdkVersion |
string
Crashlytics SDK 版本。 |
appOrientation |
string
應用程式當機時的方向 (直向或橫向)。 |
deviceOrientation |
string
當機時的裝置方向 (直向或橫向)。 |
logs[] |
object (Log)
開發人員在工作階段期間記錄的記錄檔訊息。 |
breadcrumbs[] |
object (Breadcrumb)
工作階段期間,Analytics SDK 記錄的 Analytics 事件。 |
blameFrame |
object (Frame)
Crashlytics 處理程序所歸咎的堆疊追蹤記錄影格。未來分析器可能不會提供這項資訊。 |
exceptions[] |
object (Exception)
僅限 Android 裝置。這個事件期間發生的例外狀況。巢狀例外狀況會依時間倒序呈現,因此最後一筆記錄是擲回的第一個例外狀況。 |
errors[] |
object (Error)
僅限 Apple 裝置。iOS SDK 擷取的非致命錯誤及其堆疊追蹤記錄。 |
threads[] |
object (Thread)
記錄事件時存在的應用程式執行緒。 每個檔案都包含堆疊追蹤記錄。系統會將錯誤歸咎於其中一個執行緒。 |
processState |
string
事件發生時的應用程式程序狀態。 |
issueTitle |
string
事件所屬問題的名稱。這通常是來源檔案或方法名稱。 |
issueSubtitle |
string
事件所屬問題的子標題。這通常是符號或例外狀況訊息。 |
buildStamp |
string
應用程式建構系統提供的中繼資料,包括版本控管存放區資訊。 |
Memory
行動裝置記憶體用量。
JSON 表示法
{
"used": string,
"free": string
}
| 欄位 | 說明 |
|---|---|
used |
string (int64 format)
使用的位元組數。 |
free |
string (int64 format)
可用位元組數。 |
Storage
行動裝置的磁碟/快閃記憶體用量。並非所有裝置都會回報。
JSON 表示法
{
"used": string,
"free": string
}
| 欄位 | 說明 |
|---|---|
used |
string (int64 format)
使用的位元組數。 |
free |
string (int64 format)
可用位元組數。 |
User
開發人員提供的使用者 ID。
JSON 表示法
{
"id": string
}
| 欄位 | 說明 |
|---|---|
id |
string
應用程式開發人員提供的使用者 ID。 |
Frame
堆疊追蹤中的影格。
JSON 表示法
{
"line": string,
"file": string,
"symbol": string,
"offset": string,
"address": string,
"library": string,
"owner": string,
"blamed": boolean
}
| 欄位 | 說明 |
|---|---|
line |
string (int64 format)
框架檔案中的行號。 |
file |
string
找到影格的來源檔案名稱。 |
symbol |
string
去模糊化或符號化後的影格符號。如果無法補水,裝置中的原始符號。 |
offset |
string (int64 format)
包含程式碼的二進位映像檔中的位元組偏移。原生影格的呈現時間。 |
address |
string (int64 format)
二進位映像檔中包含程式碼的位址。呈現原生影格。 |
library |
string
包含影格的程式庫顯示名稱。 |
owner |
string
請選擇 DEVELOPER、VENDOR、RUNTIME、PLATFORM 或 SYSTEM。 |
blamed |
boolean
如果 Crashlytics 分析判定這個影格可能是錯誤原因,則為 True。 |
Exception
Java 例外狀況及其堆疊追蹤記錄,僅限 Android 應用程式。
JSON 表示法
{
"type": string,
"exceptionMessage": string,
"nested": boolean,
"title": string,
"subtitle": string,
"blamed": boolean,
"frames": [
{
object (Frame)
}
]
}
| 欄位 | 說明 |
|---|---|
type |
string
例外狀況類型,例如 java.lang.IllegalStateException。 |
exceptionMessage |
string
與例外狀況相關的訊息。 |
nested |
boolean
適用於所有例外狀況,但最後擲回的例外狀況 (即第一個記錄) 除外。 |
title |
string
例外狀況的標題。 |
subtitle |
string
例外狀況的子標題。 |
blamed |
boolean
如果 Crashlytics 分析結果判斷這個執行緒發生錯誤,則為 True。 |
frames[] |
object (Frame)
例外狀況堆疊追蹤中的影格。 |
Error
非致命錯誤及其堆疊追蹤記錄,僅限 Apple 應用程式。
JSON 表示法
{
"queue": string,
"code": string,
"title": string,
"subtitle": string,
"blamed": boolean,
"frames": [
{
object (Frame)
}
]
}
| 欄位 | 說明 |
|---|---|
queue |
string
執行緒執行的佇列。 |
code |
string (int64 format)
與應用程式自訂記錄的 NSError 相關聯的錯誤代碼。 |
title |
string
錯誤標題。 |
subtitle |
string
錯誤的子標題。 |
blamed |
boolean
如果 Crashlytics 分析結果顯示此錯誤的堆疊追蹤是發生故障的原因,則為 True。 |
frames[] |
object (Frame)
錯誤堆疊追蹤中的影格。 |
Thread
應用程式執行緒。
JSON representation</code></th>
</tr>
</thead>
<tbody>
<tr>
<td><code>{
"crashed": boolean,
"name": string,
"queue": string,
"signal": string,
"signalCode": string,
"crashAddress": string,
"title": string,
"subtitle": string,
"blamed": boolean,
"frames": [
{
object (Frame)
}
],
"threadId": string,
"sysThreadId": string,
"threadState": enum (State)
}
| 欄位 | 說明 |
|---|---|
crashed |
boolean
如果執行緒已當機,則為 True。 |
name |
string
執行緒名稱。 |
queue |
string
執行緒執行的佇列。 |
signal |
string
導致應用程式當機的信號名稱。僅顯示在當機的原生執行緒上。 |
signalCode |
string
導致應用程式當機的信號代碼。僅顯示在當機的原生執行緒上。 |
crashAddress |
string (int64 format)
導致應用程式停止運作的信號位址。僅適用於當機的原生執行緒。 |
title |
string
討論串標題。 |
subtitle |
string
討論串的子標題。 |
blamed |
boolean
如果 Crashlytics 分析結果判定這個執行緒中的堆疊追蹤是發生錯誤的原因,則為 True。 |
frames[] |
object (Frame)
執行緒堆疊追蹤中的影格。 |
threadId |
string (int64 format)
執行緒的 ID,僅適用於 ANR 執行緒。 |
sysThreadId |
string (int64 format)
執行緒的系統 ID,僅適用於 ANR 執行緒。 |
threadState |
enum (State)
僅供輸出。ANR 發生時的執行緒狀態。 |
State
ANR 發生時的執行緒狀態。
| 列舉 | 說明 |
|---|---|
STATE_UNSPECIFIED |
未指定執行緒狀態。 |
THREAD_STATE_TERMINATED |
執行緒已終止。 |
THREAD_STATE_RUNNABLE |
執行緒可執行。 |
THREAD_STATE_TIMED_WAITING |
執行緒等待逾時。 |
THREAD_STATE_BLOCKED |
討論串已遭封鎖。 |
THREAD_STATE_WAITING |
執行緒正在等待。 |
THREAD_STATE_NEW |
已啟動執行緒,但尚未執行任何項目。 |
THREAD_STATE_NATIVE_RUNNABLE |
執行緒是原生執行緒,我們無法以啟發式方式判斷執行緒是否處於等待狀態,因此假設執行緒可執行。 |
THREAD_STATE_NATIVE_WAITING |
我們根據啟發式方法判斷執行緒正在等待。 |
Firebase 工作階段結構定義
FirebaseSessionEvent
由 Firebase 應用程式品質工作階段 SDK 記錄的工作階段。
JSON 表示法
{
"sessionId": string,
"eventType": enum (SessionEventType),
"firstSessionId": string,
"sessionIndex": integer,
"firebaseInstallationId": string,
"eventTime": string,
"version": {
object (Version)
},
"device": {
object (Device)
},
"operatingSystem": {
object (OperatingSystem)
}
}
| 欄位 | 說明 |
|---|---|
sessionId |
string
Firebase 工作階段的專屬 ID。 |
eventType |
enum (SessionEventType)
工作階段事件類型。SDK 目前僅支援 SESSION_START 事件。 |
firstSessionId |
string
上次冷啟動後第一個工作階段的 ID。應用程式啟動時,這個 ID 和 sessionId 會相同。 |
sessionIndex |
integer
表示上次冷啟動後的會話數。 |
firebaseInstallationId |
string
專門用於識別已安裝 Firebase 應用程式的裝置。 |
eventTime |
string (Timestamp format)
工作階段事件的開始時間戳記。 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。例如:「2014-10-02T15:01:23Z」、「2014-10-02T15:01:23.045123456Z」或「2014-10-02T15:01:23+05:30」。 |
version |
object (Version)
行動應用程式版本號碼。 |
device |
object (Device)
行動裝置中繼資料。 |
operatingSystem |
object (OperatingSystem)
作業系統和版本。 |
SessionEventType
系統記錄的 SessionEvent 類型。
| 列舉 | 說明 |
|---|---|
SESSION_EVENT_TYPE_UNKNOWN |
不明。 |
SESSION_START |
應用程式工作階段已啟動。 |
裝置記錄結構定義
DeviceLog
代表 deviceLog 項目結構。
JSON 表示法
{
"eventId": string,
"sessionId": string,
// Union field payload can be only one of the following:
"log": {
object (Log)
},
"breadcrumb": {
object (Breadcrumb)
}
// End of list of possible types for union field payload.
}
| 欄位 | 說明 |
|---|---|
eventId |
string
僅供輸出。不可變動。與此相關聯的事件 ID。 |
sessionId |
string
Firebase 工作階段的專屬 ID。 |
聯集欄位 |
|
log |
object (Log)
Crashlytics 記錄。 |
breadcrumb |
object (Breadcrumb)
Crashlytics 導覽標記。 |
Log
工作階段期間記錄的開發人員提供記錄行。
JSON 表示法
{
"logTime": string,
"message": string
}
| 欄位 | 說明 |
|---|---|
logTime |
string (Timestamp format)
記錄行時的裝置時間戳記。 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。例如:「2014-10-02T15:01:23Z」、「2014-10-02T15:01:23.045123456Z」或「2014-10-02T15:01:23+05:30」。 |
message |
string
記錄訊息。 |
Breadcrumb
工作階段期間記錄的 Analytics 事件。
JSON 表示法
{
"eventTime": string,
"title": string,
"params": {
string: string,
...
}
}
| 欄位 | 說明 |
|---|---|
eventTime |
string (Timestamp format)
事件的裝置時間戳記。 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。例如:「2014-10-02T15:01:23Z」、「2014-10-02T15:01:23.045123456Z」或「2014-10-02T15:01:23+05:30」。 |
title |
string
Analytics 事件名稱。 |
params |
map (key: string, value: string)
事件參數。 含有「鍵」:值組合清單的物件。 例如:{ "name": "wrench", "mass": "1.3kg", "count": "3" }。 |