Cloud Logging에서 내보낸 데이터의 로그 스키마

이 페이지에서는 Cloud Logging에서 내보낸 Crashlytics 데이터 및 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

필수. 출력 전용입니다. 변경할 수 없습니다. 식별자 이벤트 리소스의 이름입니다. 형식: projects/{project}/apps/{app_id}/events/{event}.

platform string

모바일 플랫폼 (Android 또는 iOS)입니다.

bundleOrPackage string

iOS 앱의 번들 이름 또는 Android 앱의 패키지 이름입니다. 형식은 com.mycompany.myapp입니다.

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 세션의 고유 식별자입니다.

통합 필드 payload. 페이로드는 Crashlytics 로그 또는 탐색경로일 수 있습니다. payload은 다음 중 하나여야 합니다.

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" }.