웹 애플리케이션 데이터 수집¶
애플리케이션 데이터를 Guance에 수집한 후, Guance 콘솔에서 사용자 정의 시나리오와 이상 탐지 이벤트를 구성할 수 있습니다.
데이터 유형¶
Guance의 RUM에는 6가지 데이터 유형이 포함됩니다.
| 유형 | 설명 |
|---|---|
| session | 사용자 세션 정보 기록입니다. 현재 세션에서 세션 차원을 기준으로 사용자 페이지, 리소스, 작업, 오류, 긴 작업 관련 액세스 데이터를 캡처합니다. |
| view | 사용자가 페이지에 방문할 때마다 페이지 조회 레코드가 생성됩니다. 사용자가 동일한 페이지에 머무르는 동안 리소스, 긴 작업, 오류 및 작업 레코드는 view_id 속성을 통해 관련 RUM 뷰에 연결됩니다. |
| resource | 사용자가 페이지에 방문할 때 로드된 리소스 정보 기록입니다. |
| error | RUM 수집기가 브라우저에서 모든 프론트엔드 오류를 수집합니다. |
| long_task | 브라우저에서 메인 스레드를 50ms 이상 차단하는 모든 작업에 대해 긴 작업 레코드가 생성됩니다. |
| action | 페이지 탐색 중 모든 사용자 상호 작용 레코드를 추적합니다. |
글로벌 속성¶
RUM의 시나리오 구성 및 이벤트 알림은 아래 글로벌 속성을 통해 쿼리할 수 있습니다.
SDK 속성¶
| 필드 | 유형 | 설명 |
|---|---|---|
sdk_name |
string | 수집기 이름, 고정 값:df_web_rum_sdkdf_miniapp_rum_sdkdf_ios_rum_sdkdf_android_rum_sdk |
sdk_version |
string | 수집기 버전 정보입니다. |
애플리케이션 속성¶
| 필드 | 유형 | 설명 |
|---|---|---|
app_id |
string | 필수, RUM 애플리케이션 고유 ID 식별자로, Guance 콘솔에서 모니터링 생성 시 자동 생성됩니다. |
env |
string | 필수, 환경 필드입니다. 속성 값: prod/gray/pre/common/local. 참고: prod: 운영 환경; gray: 카나리 환경; pre: 사전 출시 환경; common: 일상 환경; local: 로컬 환경. |
version |
string | 필수, 버전 번호입니다. |
service |
string | 필수, RUM SDK 내에 구성된 service 필드의 해당 값입니다. |
사용자 및 세션 속성¶
| 필드 | 유형 | 설명 |
|---|---|---|
userid |
string | 기본적으로 브라우저 쿠키를 userid로 가져옵니다. 사용자 정의 사용자 식별자를 사용하여 사용자 ID를 설정한 경우 userid는 정의된 값과 일치합니다.❗️ 쿠키 만료 시간은 60일입니다. |
session_id |
string | 세션 ID (사용자 세션은 15분 동안 상호 작용이 없으면 만료된 것으로 간주합니다). |
session_type |
string | 세션 유형입니다. 참고 값: user 및 synthetics: |
is_signin |
boolean | 등록된 사용자 여부, 속성 값: True / False. |
장치 및 해상도 속성¶
| 필드 | 유형 | 설명 |
|---|---|---|
os |
string | 운영 체제 |
os_version |
string | 운영 체제 버전 |
os_version_major |
string | 장치가 보고한 주요 OS 버전 |
browser |
string | 브라우저 제공업체 |
browser_version |
string | 브라우저 버전 |
browser_version_major |
string | 브라우저 주요 버전 정보 |
screen_size |
string | 화면 너비*높이, 해상도 |
지리 및 네트워크 속성¶
| 필드 | 유형 | 설명 |
|---|---|---|
ip |
string | 사용자 IP 주소 |
isp |
string | ISP |
network_type |
string | 네트워크 연결 유형, 속성 값 참고:wifi | 2g | 3g | 4g | 5g | unknown(알 수 없는 네트워크) | unreachable(네트워크 연결 불가) |
country |
string | 국가 |
country_iso_code |
string | 국가 iso_code |
province |
string | 주/도 |
city |
string | 도시 |
사용자 정의 속성¶
글로벌 속성 외에도 사용자 정의 속성(SDK는 사용자 정의 태그 데이터를 지원합니다)을 통해 시나리오를 구성하고 이벤트 알림을 설정할 수 있습니다. 사용자 정의 속성은 글로벌 속성이 아니며, 사용자 정의 속성을 통해 사용자 앱 방문의 전체 프로세스를 추적하고, 영향을 받는 사용자 방문 상황을 파악 및 발견하며, 사용자 방문 성능을 모니터링할 수 있습니다.
기타 데이터 유형 속성¶
Session¶
속성¶
| 필드 | 유형 | 설명 |
|---|---|---|
session_id |
string | 세션 ID (사용자 세션은 15분 동안 상호 작용이 없으면 만료된 것으로 간주합니다) |
session_type |
string | 세션 유형입니다. 참고 값: user 및 synthetics: |
session_first_view_id |
string | 현재 세션의 첫 번째 페이지의 view_id |
session_first_view_url |
string | 현재 세션의 첫 번째 페이지의 URL |
session_first_view_host |
string | 현재 세션의 첫 번째 페이지의 도메인 |
session_first_view_path |
string | 현재 세션의 첫 번째 페이지의 경로 |
session_first_view_path_group |
string | 현재 세션의 첫 번째 페이지의 경로 그룹 |
session_first_view_url_query |
string | 현재 세션의 첫 번째 페이지의 쿼리 정보 |
session_first_view_name |
string | 현재 세션의 첫 번째 페이지의 경로 그룹, session_first_view_path_group 필드와 동일 |
session_last_view_id |
string | 현재 세션의 마지막 방문 페이지의 view_id |
session_last_view_url |
string | 현재 세션의 마지막 페이지의 URL |
session_last_view_host |
string | 현재 세션의 마지막 페이지의 도메인 |
session_last_view_path |
string | 현재 세션의 마지막 페이지의 경로 |
session_last_view_path_group |
string | 현재 세션의 마지막 페이지의 경로 그룹 |
session_last_view_url_query |
object | 현재 세션의 마지막 페이지의 쿼리 정보 |
session_last_view_name |
string | 현재 세션의 마지막 페이지의 경로 그룹, session_last_view_path_group 필드와 동일 |
통계 지표¶
| 필드 | 유형 | 설명 |
|---|---|---|
time_spent |
number(ns) | 현재 세션 지속 시간 |
session_time_spent_count |
number | 4시간을 간격으로 초과 시 4시간마다 1씩 증가하여 계산 |
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_loading_type |
string | 페이지 로드 유형, 참고 값: initial_load route_change. route_change는 SPA 페이지 로드 모드입니다. |
view_referrer |
string | 페이지 출처 |
view_url |
string | 페이지 URL |
view_host |
string | 페이지 URL 도메인 부분 |
view_path |
string | 페이지 URL 경로 부분 |
view_path_group |
string | 페이지 URL 경로 그룹 |
view_url_query |
string | 페이지 URL 쿼리 부분 |
session_has_replay |
boolean | 현재 View가 속한 세션에 연결 가능한 세션 리플레이 데이터가 이미 생성되었는지 여부 |
지표¶
| 지표 | 유형(단위) | 설명 |
|---|---|---|
loading_time |
number(ns) | 페이지가 준비되고 네트워크 요청 및 DOM 변경이 없는 시점입니다. 자세한 내용은 페이지 Loading Time을 참조하세요. |
largest_contentful_paint |
number(ns) | LCP는 뷰포트에 표시되는 가장 큰 이미지 또는 텍스트 블록의 렌더링 시간(사용자가 페이지를 처음 탐색한 시간 기준)을 보고합니다. 좋은 사용자 경험을 위해 LCP는 페이지가 처음 로드되기 시작한 후 2.5초 이내에 발생해야 합니다. |
largest_contentful_paint_element_selector |
string | LCP 지표를 생성하는 요소의 selector |
cumulative_layout_shift |
number | 누적 레이아웃 이동으로 시각적 안정성을 측정합니다. 좋은 사용자 경험을 위해 페이지의 CLS는 0.1 이하로 유지되어야 합니다. |
cumulative_layout_shift_target_selector |
string | CLS 지표를 생성하는 요소의 selector |
first_input_delay |
number(ns) | 페이지 첫 번째 상호 작용의 입력 지연 시간을 측정합니다. 현재 Core Web Vitals에서는 FID가 INP로 대체되었습니다. |
first_input_time |
number(ns) | 현재 View 시작 기준 첫 번째 상호 작용이 발생한 시간 |
first_input_target_selector |
string | 첫 번째 상호 작용을 생성한 요소의 selector |
interaction_to_next_paint |
number(ns) | 페이지 방문 전체에서 사용자 상호 작용에 대한 전반적인 응답성을 측정하며, 입력 지연, 이벤트 처리 및 다음 프레임 페인트 시간을 포함합니다. |
interaction_to_next_paint_target_selector |
string | INP 지표를 생성하는 상호 작용 요소의 selector |
first_contentful_paint |
number(ns) | FCP 지표는 페이지가 로드되기 시작한 시점부터 페이지 콘텐츠의 일부가 화면에 렌더링 완료되는 시점까지의 시간을 측정합니다. 여기서 "콘텐츠"는 텍스트, 이미지(배경 이미지 포함), <svg> 요소 또는 흰색이 아닌 <canvas> 요소를 의미합니다. w3c 참조 |
first_byte |
number(ns) | 페이지 요청부터 페이지 응답의 첫 번째 바이트까지의 시간 |
dom_interactive |
number(ns) | 파서가 문서 구문 분석을 완료하는 시간입니다. 자세한 내용은 MDN을 참조하세요. |
dom_content_loaded |
number(ns) | 순수 HTML이 완전히 로드되고 구문 분석되면 DOMContentLoaded 이벤트가 트리거됩니다. 스타일시트, 이미지 또는 하위 프레임이 완전히 로드될 때까지 기다릴 필요가 없습니다. 자세한 내용은 MDN을 참조하세요. |
dom_complete |
number(ns) | 페이지와 모든 하위 리소스가 준비되었습니다. 사용자에게는 로딩 애니메이션이 중지된 것으로 표시됩니다. 자세한 내용은 MDN을 참조하세요. |
load_event |
number(ns) | 전체 페이지와 모든 종속 리소스(스타일시트, 이미지 등)가 완전히 로드되었을 때 트리거됩니다. DOMContentLoaded는 페이지 DOM 로드가 완료되면 트리거되며 종속 리소스 로드를 기다릴 필요가 없습니다. 자세한 내용은 MDN을 참조하세요. |
first_paint_time |
number(ns) | 현재 SDK에서 계산한 문서 응답 단계 소요 시간입니다. 계산 방식: responseEnd - fetchStart |
resource_load_time |
number(ns) | 리소스 로드 시간입니다. 계산 방식: loadEventStart - domContentLoadedEventEnd |
time_to_interactive |
number(ns) | 최초 상호 작용 가능 시간입니다. 계산 방식: domInteractive - fetchStart |
dom |
number(ns) | DOM 구문 분석 소요 시간입니다. 계산 방식: domComplete - domInteractive |
dom_ready |
number(ns) | DOM Ready 시간입니다. 계산 방식: domContentLoadedEventEnd - fetchStart |
time_spent |
number(ns) | 페이지 체류 시간 |
is_active |
boolean | 사용자가 여전히 활성 상태인지 여부, 참고 값: true & false |
통계 지표¶
| 필드 | 유형 | 설명 |
|---|---|---|
view_error_count |
number | 페이지 로드 시 발생한 오류 횟수 |
view_resource_count |
number | 페이지 로드 시 요청된 리소스 개수 |
view_long_task_count |
number | 페이지 로드 시 생성된 긴 작업 개수 |
view_action_count |
number | 페이지 조회 중 작업 횟수 |
frustration_count |
number | 현재 View에 연결된 좌절 행동 수 |
view_apdex_level |
number | 페이지 Apdex 만족도입니다. 기본 지표: first_paint_time(초 단위로 변환)참고 값: 0/1/2/3/4/5/6/7/8/9 (first_paint_time 값 기준, 9는 >= 9초를 의미) |
Resource¶
페이지 리소스, XHR, fetch 외에도 실험 기능 활성화 시 네이티브 WebSocket 연결로 인해
resource_type = websocket인 Resource가 생성됩니다. WebSocket에는 HTTP response가 없으므로
resource_status, resource_method 및 HTTP 타이밍이 포함되지 않습니다. 연결, 메시지 및
종료 필드는 WebSocket 장기 연결 수집을 참조하세요.
View 속성¶
| 필드 | 유형 | 설명 |
|---|---|---|
view_id |
string | 페이지 방문 시 생성되는 고유 ID |
is_active |
boolean | 사용자가 여전히 활성 상태인지 여부, 참고 값: true | false |
view_loading_type |
string | 페이지 로드 유형, 참고 값: initial_load |
view_referrer |
string | 페이지 출처 |
view_url |
string | 페이지 URL |
view_host |
string | 페이지 URL 도메인 부분 |
view_path |
string | 페이지 URL 경로 부분 |
view_path_group |
string | 페이지 URL 경로 그룹 |
view_url_query |
string | 페이지 URL 쿼리 부분 |
Resource 속성¶
| 필드 | 유형 | 설명 |
|---|---|---|
resource_url |
string | 리소스 URL |
resource_url_host |
string | 리소스 URL 도메인 부분 |
resource_url_path |
string | 리소스 URL 경로 부분 |
resource_url_query |
string | 리소스 URL 쿼리 부분 |
resource_url_path_group |
string | 리소스 URL 경로 그룹 |
resource_type |
string | 리소스 유형 |
resource_method |
string | 리소스 요청 방식 |
resource_status |
string | 리소스 요청 반환 상태 값 |
resource_status_group |
string | 리소스 요청 반환 상태 그룹 값 |
지표¶
| 필드 | 유형 | 설명 |
|---|---|---|
resource_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) |
Error¶
View 속성¶
| 필드 | 유형 | 설명 |
|---|---|---|
view_id |
string | 페이지 방문 시 생성되는 고유 ID |
is_active |
boolean | 사용자가 여전히 활성 상태인지 여부, 참고 값: true | false |
view_loading_type |
string | 페이지 로드 유형, 참고 값: initial_load |
view_referrer |
string | 페이지 출처 |
view_url |
string | 페이지 URL |
view_host |
string | 페이지 URL 도메인 부분 |
view_path |
string | 페이지 URL 경로 부분 |
view_path_group |
string | 페이지 URL 경로 그룹 |
view_url_query |
string | 페이지 URL 쿼리 부분 |
Error 속성¶
| 필드 | 유형 | 설명 |
|---|---|---|
error_source |
string | 오류 소스, 참고 값: console | network | source | custom |
error_type |
string | 오류 유형, 참고 링크: error type |
resource_status |
string | 리소스 요청 반환 상태 값 |
resource_url |
string | 리소스 URL |
resource_url_host |
string | 리소스 URL 도메인 부분 |
resource_url_path |
string | 리소스 URL 경로 부분 |
resource_url_path_group |
string | 리소스 URL 경로 그룹 |
resource_method |
string | 리소스 요청 방식 |
지표¶
| 필드 | 유형 | 설명 |
|---|---|---|
error_message |
string | 오류 메시지 |
error_stack |
string | 오류 스택 |
Long Task¶
View 속성¶
| 필드 | 유형 | 설명 |
|---|---|---|
view_id |
string | 페이지 방문 시 생성되는 고유 ID |
is_active |
boolean | 사용자가 여전히 활성 상태인지 여부, 참고 값: true | false |
view_loading_type |
string | 페이지 로드 유형, 참고 값: initial_load |
view_referrer |
string | 페이지 출처 |
view_url |
string | 페이지 URL |
view_host |
string | 페이지 URL 도메인 부분 |
view_path |
string | 페이지 URL 경로 부분 |
view_path_group |
string | 페이지 URL 경로 그룹 |
view_url_query |
string | 페이지 URL 쿼리 부분 |
지표¶
| 필드 | 유형 | 설명 |
|---|---|---|
duration |
number(ns) | 페이지 로드 시 생성된 긴 작업 소요 시간 |
Action¶
View 속성¶
| 필드 | 유형 | 설명 |
|---|---|---|
view_id |
string | 페이지 방문 시 생성되는 고유 ID |
is_active |
boolean | 사용자가 여전히 활성 상태인지 여부, 참고 값: true | false |
view_loading_type |
string | 페이지 로드 유형, 참고 값: initial_load |
view_referrer |
string | 페이지 출처 |
view_url |
string | 페이지 URL |
view_host |
string | 페이지 URL 도메인 부분 |
view_path |
string | 페이지 URL 경로 부분 |
view_path_group |
string | 페이지 URL 경로 그룹 |
view_url_query |
string | 페이지 URL 쿼리 부분 |
Action 속성¶
| 필드 | 유형 | 설명 |
|---|---|---|
action_id |
string | 사용자 페이지 작업 시 생성되는 고유 ID |
action_name |
string | 작업 이름 |
action_type |
string | 작업 유형 |
지표¶
| 필드 | 유형 | 설명 |
|---|---|---|
duration |
number(ns) | 페이지 작업 소요 시간 |
통계 지표¶
| 필드 | 유형 | 설명 |
|---|---|---|
action_long_task_count |
number | 작업 연결 긴 작업 횟수 |
action_resource_count |
number | 작업 연결 리소스 요청 횟수 |
action_error_count |
number | 작업 연결 오류 횟수 |
