콘텐츠로 이동

iOS/tvOS/macOS 애플리케이션 데이터 수집


애플리케이션 데이터를 Guance에 수집한 후, Guance 콘솔에서 사용자 정의 시나리오 구성 및 이상 감지 이벤트를 구성할 수 있습니다.

데이터 유형

Guance의 RUM에는 6가지 데이터 유형이 포함됩니다.

iOS SDK가 직접上报하는 RUM 데이터 유형은 view, resource, error, long_task, action입니다. session은 세션 차원의 데이터로, SDK가上报하는 RUM 데이터를 기반으로 집계되어 생성됩니다.

유형 설명
session 사용자 세션 정보 기록입니다. 현재 세션에서는 세션 차원의 사용자 페이지, 리소스, 작업, 오류, 긴 작업 관련 방문 데이터를 기반으로 합니다.
view 사용자가 모바일 애플리케이션의 페이지에 방문할 때마다 조회 기록이 생성됩니다. 사용자가 동일한 페이지에 머무르는 동안 리소스, 긴 작업, 오류 및 작업 기록은 view_id 속성을 통해 관련 RUM 뷰에 연결됩니다.
resource 사용자가 페이지에 방문할 때 로드된 리소스 정보 기록입니다.
error 모바일 애플리케이션에서 발생한 예외 또는 크래시입니다.
long_task 지정된 지속 시간 임계값을 초과하여 메인 스레드를 차단하는 애플리케이션의 모든 작업에 대해 긴 작업 이벤트가 생성됩니다.
action 모바일 애플리케이션에서의 사용자 활동(애플리케이션 시작, 클릭, 스와이프, 뒤로 가기 등)을 기록합니다. 각 작업에는 고유한 action_id가 연결됩니다.

전역 속성

RUM의 시나리오 구성 및 이벤트 알림은 아래의 전역 속성을 통해 조회할 수 있습니다.

SDK 속성

필드 유형 설명
sdk_name string 수집기 이름, 고정 이름:
df_macos_rum_sdk
df_ios_rum_sdk
df_tvos_rum_sdk
df_android_rum_sdk
sdk_version string 수집기 버전 정보
sdk_pkg_info object SDK 패키지 정보

애플리케이션 속성

필드 유형 설명
app_id string 필수, RUM 애플리케이션 고유 ID 식별자로, Guance 콘솔에서 모니터링 생성 시 자동 생성됩니다.
application_uuid string 애플리케이션 UUID로, iOS SDK가 메인 Mach-O UUID에서 가져옵니다.
env string 필수, 환경 필드. 속성값: prod/gray/pre/common/local. 의미:
prod: 프로덕션 환경
gray: 카나리 환경
pre: 사전 릴리스 환경
common: 일상 환경
local: 로컬 환경
version string 필수, 버전 번호.
service string 선택 사항, 소속 비즈니스 또는 서비스의 이름. 고정 이름:
df_rum_ios
df_rum_tvos
df_rum_android
df_rum_windows
df_rum_linux

사용자 및 세션 속성

필드 유형 설명
userid string 로그인하지 않은 사용자는 무작위 uuid를 userid로 사용하고, 로그인한 사용자는 애플리케이션 백엔드에서 생성된 사용자 id를 사용합니다.
user_name string 선택 사항, 사용자 이름.
user_email string 선택 사항, 사용자 이메일.
session_id string 세션 id로, 15분 이상 작업이 없으면 새 session_id가 생성됩니다.
session_type string 세션 유형. 참조값: user & synthetics
user: RUM 기능으로 생성된 데이터
synthetics: headless 신서틱 테스트로 생성된 데이터
is_signin boolean 등록된 사용자 여부, 속성값: T & F.
session_has_replay boolean 현재 세션이 Session Replay 데이터와 연결되어 있는지 여부. Session Replay 관련 기능을 활성화하면 View, Resource, Error, Long Task, Action이 이 필드를 기록할 수 있습니다.
custom_keys string RUM 사용자 정의 속성 key 목록

장치 및 해상도 속성

필드 유형 설명
device string 모바일 장치 제조사
model string 모바일 장치 모델
device_uuid string 모바일 장치 고유 ID, UIDevice.identifierForVendor를 사용하여 생성
os string 운영 체제 정보
os_version string 운영 체제 버전
os_version_major string 운영 체제 주요 버전
screen_size string 화면 해상도
arch string CPU 아키텍처, 예: arm64, arm64e, x86_64

지리 및 네트워크 속성

필드 유형 설명
ip string 사용자 방문 IP 주소
isp string 통신사
network_type string 네트워크 연결 유형, 속성값 참조:
wifi & 2g & 3g & 4g & 5g & unknown(알 수 없는 네트워크) & unreachable(네트워크 연결 불가)
country string 국가
country_iso_code string 국가 ISO 코드
province string 주/도
city string 도시

사용자 정의 속성

전역 속성 외에도 사용자 정의 속성(SDK는 사용자 정의 태그 데이터를 지원합니다)을 통해 시나리오를 구성하고 이벤트 알림을 설정할 수 있습니다. 사용자 정의 속성은 전역 속성이 아닙니다. 사용자 정의 속성을 통해 사용자가 애플리케이션에 방문하는 전체 과정을 추적하고, 사용자가 영향을 받는 방문 상황을 찾아내고 식별하며, 사용자 방문 성능을 모니터링할 수 있습니다.

기타 데이터 유형 속성

Session

Session은 세션 차원의 데이터로, 일반적으로 서버 측에서 SDK가上报하는 RUM 데이터를 기반으로 생성 또는 집계되며, iOS SDK가 직접上报하는 별도의 measurement가 아닙니다.

속성

필드 유형 설명
session_id string 세션 id
session_type string 세션 유형. 참조값: user & synthetics
user: RUM 기능으로 생성된 데이터
synthetics: headless 신서틱 테스트로 생성된 데이터
session_referrer string 세션 출처. 일반적으로 출처 페이지의 주소를 기록합니다.
session_first_view_id string 현재 세션의 첫 번째 페이지의 view_id
session_first_view_name string 현재 세션의 첫 번째 페이지의 URL
session_last_view_id string 현재 세션의 마지막 방문 페이지의 view_id
session_last_view_name string 현재 세션의 마지막 페이지의 URL

통계 지표

필드 유형 설명
time_spent number(ns) 현재 세션 지속 시간
session_view_count number 현재 세션과 연결된 view_id 개수
session_error_count number 현재 세션에서 발생한 오류 개수
session_resource_count number 현재 세션에서 로드된 리소스 개수
session_action_count number 현재 세션에서 사용자 작업 횟수
session_long_task_count number 현재 세션에서 발생한 긴 작업 횟수

View

속성

필드 유형 설명
view_id string 페이지 방문 시 생성되는 고유 ID
view_referrer string 페이지 출처, 페이지의 상위
view_name string 페이지 이름
session_has_replay boolean 현재 View가 속한 세션이 Session Replay 데이터와 연결되어 있는지 여부

지표

필드 유형 설명
loading_time number(ns) 페이지 로딩 시간
time_spent number(ns) 페이지 체류 시간
is_active boolean 사용자가 활성 상태인지 여부를 판단, 참조값: true & false
session_sample_rate number RUM Session 샘플링 비율
session_on_error_sample_rate number RUM Session 샘플링에 포함되지 않았을 때 오류 발생 후 보충 샘플링 비율
session_replay_sample_rate number Session Replay 샘플링 비율, Session Replay 관련 기능 활성화 시 나타남
session_replay_on_error_sample_rate number 오류 발생 후 Session Replay 보충 샘플링 비율, Session Replay 관련 기능 활성화 시 나타남
sampled_for_error_session boolean 현재 Session이 오류 샘플링 정책에 의해 샘플링되었는지 여부
sampled_for_error_replay boolean 현재 Session Replay가 오류 샘플링 정책에 의해 샘플링되었는지 여부
session_error_timestamp number(ns) 오류 샘플링이 적중된 오류 발생 시간
session_replay_stats object 현재 View와 연결된 Session Replay 통계 정보

통계 지표

필드 유형 설명
view_error_count number 페이지 로드 시 발생한 오류 횟수
view_resource_count number 페이지 로드 시 요청된 리소스 개수
view_long_task_count number 페이지 로드 시 발생한 긴 작업 개수
view_action_count number 페이지 조회 중 작업 횟수
view_update_time number View 업데이트 횟수
view_long_task_rate number View 기간 동안 긴 작업 소요 시간 비율

모니터링 지표

필드 유형 설명
cpu_tick_count number 선택 사항, 해당 페이지 CPU 틱 횟수
cpu_tick_count_per_second number 선택 사항, 초당 평균 CPU 틱 횟수
fps_avg number 선택 사항, 페이지 평균 초당 프레임 수
fps_mini number 선택 사항, 페이지 최소 초당 프레임 수
memory_avg number 선택 사항, 페이지 메모리 사용 평균값
memory_max number 선택 사항, 페이지 메모리 최대값

Resource

View 속성

필드 유형 설명
view_id string 페이지 방문 시 생성되는 고유 ID
view_referrer string 페이지 출처, 페이지의 상위
view_name string 페이지 이름

Action 속성

필드 유형 설명
action_id string 사용자 페이지 작업 시 생성되는 고유 ID
action_name string 작업 이름
action_type string 작업 유형(콜드/핫 스타트, 클릭 등)

Resource 속성

필드 유형 설명
resource_url string 리소스 URL
resource_url_host string 리소스 URL 도메인 부분
resource_url_path string 리소스 URL path 부분
resource_url_query string 리소스 URL query 부분
resource_url_path_group string 리소스 URL path 그룹
resource_type string 리소스의 카테고리
resource_method string 리소스 요청 방식
resource_status string 리소스 요청 반환 상태 값
resource_status_group string 리소스 요청 반환 상태 그룹 값
resource_host_ip string 리소스 URL 접속 대상 IP
resource_id string 리소스 요청 고유 ID
response_connection string 응답 헤더 Connection
response_content_type string 응답 헤더 Content-Type
response_content_encoding string 응답 헤더 Content-Encoding
span_id string 분산 추적 연결 span id
trace_id string 분산 추적 연결 trace id
session_has_replay boolean 현재 Resource가 속한 세션이 Session Replay 데이터와 연결되어 있는지 여부

지표

필드 유형 설명
resource_size number 리소스 크기, 기본 단위: byte
resource_request_size number 리소스 요청 크기, 기본 단위: byte
resource_dns number(ns) 리소스 로딩 DNS 해석 시간
계산 방식: domainLookupEnd - domainLookupStart
resource_tcp number(ns) 리소스 로딩 TCP 연결 시간
계산 방식: connectEnd - connectStart
resource_ssl number(ns) 리소스 로딩 SSL 연결 시간
계산 방식: connectEnd - secureConnectStart
resource_ttfb number(ns) 리소스 로딩 요청 응답 시간
계산 방식: responseStart - requestStart
resource_trans number(ns) 리소스 로딩 콘텐츠 전송 시간
계산 방식: responseEnd - responseStart
resource_first_byte number(ns) 리소스 로딩 첫 바이트 시간
계산 방식: responseStart - domainLookupStart
duration number(ns) 리소스 로딩 시간
계산 방식: duration(responseEnd-startTime)
resource_dns_time object DNS 단계 소요 시간, 구조: {start, duration}
resource_connect_time object TCP 연결 단계 소요 시간, 구조: {start, duration}
resource_first_byte_time object 첫 바이트 단계 소요 시간, 구조: {start, duration}
resource_ssl_time object SSL 단계 소요 시간, 구조: {start, duration}
resource_download_time object 다운로드 단계 소요 시간, 구조: {start, duration}
resource_redirect_time object 리다이렉션 단계 소요 시간, 구조: {start, duration}
resource_http_protocol string 리소스 요청에 사용된 네트워크 프로토콜
resource_connection_reuse boolean 리소스 요청이 연결을 재사용하는지 여부
request_header string 리소스 요청 헤더
response_header string 리소스 응답 헤더

네트워크 스냅샷

필드 유형 설명
network_available boolean Resource 시작 시 네트워크 사용 가능 여부

Error

View 속성

필드 유형 설명
view_id string 페이지 방문 시 생성되는 고유 ID
view_referrer string 페이지 출처, 페이지의 상위
view_name string 페이지 이름

Action 속성

필드 유형 설명
action_id string 사용자 페이지 작업 시 생성되는 고유 ID
action_name string 작업 이름

Error 속성

필드 유형 설명
error_source string 오류 출처, 참조값: logger & network
error_type string 오류 유형
logger error type: anr_error | ios_crash
network error type: network_error
error_situation string 오류 발생 시점, 참조값: startup (시작 시) 및 run (실행 중)
session_has_replay boolean 현재 Error가 속한 세션이 Session Replay 데이터와 연결되어 있는지 여부

type=network인 경우, 다음 Network Error 속성이 추가됩니다.

필드 유형 설명
resource_id string 리소스 요청 고유 ID
resource_status string 리소스 요청 반환 상태 값
resource_url string 리소스 URL
resource_url_host string 리소스 URL 도메인 부분
resource_url_path string 리소스 URL path 부분
resource_url_path_group string 리소스 URL path 그룹
resource_status_group string 리소스 요청 반환 상태 그룹 값
resource_method string 리소스 요청 방식

Error 모니터링 속성

필드 유형 설명
memory_total string 선택 사항, 메모리 총량
memory_use number 선택 사항, 메모리 사용률
cpu_use number 선택 사항, CPU 사용률
battery_use number 선택 사항, 현재 휴대폰 배터리 잔량 (tvOS 미지원)
carrier string 선택 사항, 통신사 정보 (iOS 지원)
locale string 현재 시스템 언어

지표

필드 유형 설명
error_message string 오류 정보
error_stack string 오류 스택
foreground_crash_free_duration number(ns) 크래시 발생 전 애플리케이션이 포그라운드에 있었던 무중단 기간
background_crash_free_duration number(ns) 크래시 발생 전 애플리케이션이 백그라운드에 있었던 무중단 기간
crash_extra object 크래시 추가 정보, 예: 레지스터 정보

Long Task

View 속성

필드 유형 설명
view_id string 페이지 방문 시 생성되는 고유 ID
view_referrer string 페이지 출처, 페이지의 상위
view_name string 페이지 이름

Action 속성

필드 유형 설명
action_id string 사용자 페이지 작업 시 생성되는 고유 ID
action_name string 작업 이름

지표

필드 유형 설명
duration number(ns) 멈춤(지연) 시간
long_task_stack string 멈춤(지연) 스택
session_has_replay boolean 현재 Long Task가 속한 세션이 Session Replay 데이터와 연결되어 있는지 여부

Action

View 속성

필드 유형 설명
view_id string 페이지 방문 시 생성되는 고유 ID
view_referrer string 페이지 출처, 페이지의 상위
view_name string 페이지 이름

Action 속성

필드 유형 설명
action_id string 사용자 페이지 작업 시 생성되는 고유 ID
action_name string 작업 이름, 기본 시작 Action에는 app_hot_start, app_cold_start, app_warm_start가 포함됩니다.
action_type string 작업 유형, 참조값: click, launch_hot, launch_cold, launch_warm
session_has_replay boolean 현재 Action이 속한 세션이 Session Replay 데이터와 연결되어 있는지 여부

지표

필드 유형 설명
duration number(ns) 페이지 작업 소요 시간
app_pre_runtime_init_time object 시작 단계 지표, 런타임 초기화 전 소요 시간, 구조: {start, duration}
app_runtime_init_time object 시작 단계 지표, 런타임 초기화 소요 시간, 구조: {start, duration}
app_uikit_init_time object 시작 단계 지표, UIKit 초기화 소요 시간, 구조: {start, duration}
app_application_init_time object 시작 단계 지표, Application 초기화 소요 시간, 구조: {start, duration}
app_first_frame_init_time object 시작 단계 지표, 첫 프레임 렌더링 소요 시간, 구조: {start, duration}
app_launch_type string 콜드 스타트 유형, action_type=launch_cold인 경우에만上报, 참조값: foreground, background

통계 지표

필드 유형 설명
action_long_task_count number 작업과 연결된 긴 작업 횟수
action_resource_count number 작업과 연결된 리소스 요청 횟수
action_error_count number 작업과 연결된 오류 횟수

WebView 연결

WebView JSBridge 데이터가 RUM에 수집될 때, SDK는 해당 데이터에 is_web_view=true를 추가하여 이 데이터가 WebView에서 왔음을 식별합니다. WebView 데이터 필드는 Web SDK上报 필드를 기준으로 하며, native iOS 필드 테이블에는 이 연결 설명만 유지됩니다.

문서 평가

이 페이지가 도움이 되었나요?