이 페이지에서는 Cloud Logging에서 내보낸 Crashlytics 데이터 및 Firebase 세션 데이터의 로그 스키마를 제공합니다.
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
필수. 출력 전용입니다.
변경할 수 없습니다. 식별자 이벤트 리소스의 이름입니다. 형식:
|
platform |
string
모바일 플랫폼 (Android 또는 iOS)입니다. |
bundleOrPackage |
string
iOS 앱의 번들 이름 또는 Android 앱의 패키지 이름입니다.
형식은 |
eventId |
string
출력 전용입니다. 변경할 수 없습니다. 고유 이벤트 식별자는 처리 중에 할당됩니다. |
sessionId |
string
Firebase 세션의 고유 식별자입니다. |
eventTime |
string (Timestamp format)
이벤트가 기록된 기기 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예: '2014-10-02T15:01:23Z', '2014-10-02T15:01:23.045123456Z', '2014-10-02T15:01:23+05:30' |
receivedTime |
string (Timestamp format)
Crashlytics에서 이벤트를 수신한 서버 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. '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)
기기 소유자의 최종 사용자 식별자입니다. |
customKeys |
map (key: string, value: string)
세션 중에 개발자가 설정한 맞춤 키입니다. '키': 값 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
installationUuid |
string
기기-앱 설치의 고유 식별자입니다. 이 필드는 영향을 받은 순 사용자 수를 계산하는 데 사용됩니다. |
crashlyticsSdkVersion |
string
Crashlytics SDK 버전입니다. |
appOrientation |
string
비정상 종료 시 앱 방향 (세로 또는 가로) |
deviceOrientation |
string
비정상 종료 시 기기 방향 (세로 또는 가로)입니다. |
logs[] |
object (Log)
세션 중에 개발자가 기록한 로그 메시지입니다. |
breadcrumbs[] |
object (Breadcrumb)
세션 중에 애널리틱스 SDK에 의해 기록된 애널리틱스 이벤트입니다. |
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
개발자가 제공한 최종 사용자 식별자입니다.
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
Android 앱에서만 발생하는 Java 예외 및 스택 트레이스입니다.
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
마지막으로 발생한 예외를 제외하고 모두 True (예: 첫 번째 레코드) |
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 세션의 고유 식별자입니다. |
eventType |
enum (SessionEventType)
세션 이벤트 유형입니다. 현재 SDK는 SESSION_START 이벤트만 지원합니다. |
firstSessionId |
string
마지막 콜드 스타트 이후 첫 번째 세션의 식별자입니다. 이 ID와 sessionId는 앱 실행 시 동일합니다. |
sessionIndex |
integer
마지막 콜드 스타트 이후 세션 수를 나타냅니다. |
firebaseInstallationId |
string
Firebase 앱이 설치된 기기를 고유하게 식별합니다. |
eventTime |
string (Timestamp format)
세션 이벤트의 시작 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. '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
출력 전용입니다. 변경할 수 없습니다. 이것이 연결된 이벤트의 식별자입니다. |
sessionId |
string
Firebase 세션의 고유 식별자입니다. |
통합 필드 |
|
log |
object (Log)
Crashlytics 로그 |
breadcrumb |
object (Breadcrumb)
Crashlytics 탐색경로입니다. |
Log
세션 중에 기록된 개발자 제공 로그 줄입니다.
JSON 표현
{
"logTime": string,
"message": string
}
| 필드 | 설명 |
|---|---|
logTime |
string (Timestamp format)
줄이 기록된 기기 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예: '2014-10-02T15:01:23Z', '2014-10-02T15:01:23.045123456Z' 또는 '2014-10-02T15:01:23+05:30' |
message |
string
로그 메시지입니다. |
Breadcrumb
세션 중에 기록된 애널리틱스 이벤트입니다.
JSON 표현
{
"eventTime": string,
"title": string,
"params": {
string: string,
...
}
}
| 필드 | 설명 |
|---|---|
eventTime |
string (Timestamp format)
이벤트의 기기 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예: '2014-10-02T15:01:23Z', '2014-10-02T15:01:23.045123456Z' 또는 '2014-10-02T15:01:23+05:30' |
title |
string
분석 이벤트 이름입니다. |
params |
map (key: string, value: string)
이벤트 매개변수입니다. '키': 값 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |