BigQuery에서 내보낸 데이터의 데이터 세트 스키마

이 페이지에서는 BigQuery에서 내보낸 Crashlytics 데이터 및 Firebase 세션 데이터의 데이터 세트 스키마를 제공합니다.

Firebase는 내보낸 데이터에 대해 BigQuery에 새 데이터 세트를 만듭니다.



데이터 세트 Crashlytics 작업

Crashlytics 데이터는 firebase_crashlytics라는 BigQuery 데이터 세트로 내보내집니다. 이 데이터 세트는 프로젝트에 여러 개의 앱이 있더라도 프로젝트 전체를 포함합니다.

테이블

기본적으로 Firebase는 BigQuery에 연결된 프로젝트의 각 앱에 대해 Crashlytics 데이터 세트 내에 개별 테이블을 만듭니다.

테이블 이름은 앱의 식별자(마침표가 밑줄로 변환됨)를 기반으로 지정되며 앱의 플랫폼(_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 부울 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 반복 레코드 타임스탬프가 적용된 Google Analytics 탐색경로(사용 설정된 경우)
breadcrumbs.name STRING 탐색경로와 연결된 이름
breadcrumbs.params 반복 레코드 탐색경로와 연결된 매개변수
breadcrumbs.params.key STRING 탐색경로와 연결된 매개변수 키
breadcrumbs.params.value STRING 탐색경로와 연결된 매개변수 값
breadcrumbs.timestamp TIMESTAMP 탐색경로와 연결된 타임스탬프
bundle_identifier STRING Firebase 프로젝트에 등록된 앱의 고유 식별자입니다(예: com.google.gmail).
Apple 플랫폼 앱의 경우 앱의 번들 ID입니다.
Android 앱의 경우 앱의 패키지 이름입니다.
crashlytics_sdk_versions STRING 이벤트를 생성한 Crashlytics SDK 버전
custom_keys 반복 레코드 개발자가 정의한 키-값 쌍
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 반복 레코드 (Apple 앱만 해당) 심각하지 않은 오류
error_type STRING 이벤트의 오류 유형입니다(예: FATAL, NON_FATAL, ANR 등).
error.blamed 부울 Crashlytics에서 이 프레임이 오류의 근본 원인이라고 판단했는지 여부
error.code INT64 앱에서 커스텀 로깅된 NSError와 관련된 오류 코드
error.frames 반복 레코드 스택 추적의 프레임
error.frames.address INT64 코드가 포함된 바이너리 이미지의 주소
error.frames.blamed 부울 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 반복 레코드 (Android만 해당) 이 이벤트 중에 발생한 예외. 중첩된 예외는 최신순으로 표시됩니다. 즉, 마지막 레코드가 처음 발생한 예외입니다.
exceptions.blamed 부울 Crashlytics에서 예외를 오류 또는 비정상 종료의 원인으로 판단한 경우 True
exceptions.exception_message STRING 예외와 관련된 메시지
exceptions.frames 반복 레코드 예외와 관련된 프레임
exceptions.frames.address INT64 코드가 포함된 바이너리 이미지의 주소
Java 예외에 대해 설정되지 않음
exceptions.frames.blamed 부울 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 부울 마지막으로 발생한 예외를 제외하고 모두 True(즉, 첫 번째 레코드)
exceptions.subtitle STRING 스레드의 부제목
exceptions.title STRING 스레드의 제목
exceptions.type STRING 예외 유형(예: java.lang.IllegalStateException)
firebase_session_id STRING Crashlytics의 이벤트에 매핑된 Firebase 세션의 자동 생성 ID
installation_uuid STRING 고유의 앱 및 기기 설치를 식별하는 ID
is_fatal 부울 앱의 비정상 종료 여부
issue_id STRING 이벤트와 관련된 문제
logs 반복 레코드 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이고 루팅된 앱은 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 반복 레코드 이벤트 발생 시점에 표시된 스레드
threads.blamed 부울 Crashlytics에서 이 프레임이 비정상 종료나 오류의 근본 원인이라고 판단했는지 여부
threads.code INT64 (Apple 앱만 해당) 애플리케이션에서 커스텀 로깅된 NSError의 오류 코드
threads.crash_address INT64 앱의 비정상 종료를 유발한 신호의 주소(비정상 종료된 네이티브 스레드에만 있음)
threads.crashed 부울 스레드의 비정상 종료 여부
threads.frames 반복 레코드 스레드의 프레임
threads.frames.address INT64 코드가 포함된 바이너리 이미지의 주소
threads.frames.blamed 부울 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 부울 디버그 빌드인 경우
unity_metadata.graphics_copy_texture_support STRING Unity API에 정의된 대로 그래픽 텍스처 복사 지원
unity_metadata.graphics_device_id INT64 그래픽 기기의 식별자
unity_metadata.graphics_device_name STRING 그래픽 기기의 이름
unity_metadata.graphics_device_type STRING 그래픽 기기의 유형
unity_metadata.graphics_device_vendor_id INT64 그래픽 프로세서 공급업체의 식별자
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는 BigQuery에 연결된 프로젝트의 각 앱에 대해 Firebase 세션 데이터 세트 내에 개별 테이블을 만듭니다.

테이블 이름은 앱의 식별자(마침표가 밑줄로 변환됨)를 기반으로 지정되며 앱의 플랫폼(_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 부울 세션 시점에 Firebase Performance Monitoring SDK 데이터 수집이 사용 설정되었는지 여부입니다.
crashlytics_data_collection_enabled 부울 세션 시점에 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).