미니앱 데이터 수집¶
애플리케이션 데이터가 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 | 필수, 버전 번호. |
app_launch_query |
string | 미니앱 실행 시 query 매개변수. |
app_launch_referrer_info |
string | 출처 정보. 다른 미니앱, 공식 계정 또는 앱에서 미니앱으로 진입할 때 반환됩니다. |
자세한 내용은 관련 필드 설명을 참조하세요.
사용자 및 세션 속성¶
| 필드 | 유형 | 설명 |
|---|---|---|
userid |
string | 로그인하지 않은 사용자는 쿠키를 userid로 사용하고, 로그인한 사용자는 애플리케이션 백엔드에서 생성된 사용자 ID를 사용합니다. |
session_id |
string | 세션 ID. |
session_type |
string | 세션 유형. 참조 값: user & synthetics user: RUM 기능으로 생성된 데이터 synthetics: headless 신서틱 테스트로 생성된 데이터 |
is_signin |
boolean | 등록된 사용자 여부, 속성 값: True / False. |
기기 및 해상도 속성¶
| 필드 | 유형 | 설명 |
|---|---|---|
device |
string | 모바일 기기 제조사 |
model |
string | 모바일 기기 모델 |
device_uuid |
string | 모바일 기기 고유 ID |
os |
string | 운영체제 정보 |
os_version |
string | 운영체제 버전 |
os_version_major |
string | 운영체제 주요 버전 |
screen_size |
string | 화면 해상도 |
지리 및 네트워크 속성¶
| 필드 | 유형 | 설명 |
|---|---|---|
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 | 도시 |
플랫폼 및 라이브러리 버전 속성¶
| 필드 | 유형 | 설명 |
|---|---|---|
platform |
string | 미니앱이 속한 앱 플랫폼. 예: WeChat 미니앱의 platform은 wechat |
platform_version |
string | 미니앱이 속한 앱 플랫폼의 버전 |
app_framework_version |
string | 미니앱 기본 버전 라이브러리 |
사용자 정의 속성¶
전역 속성 외에도 사용자 정의 속성(SDK는 사용자 정의 태그 데이터 추가 지원)을 통해 시나리오 구성 및 이벤트 알림을 설정할 수 있습니다. 사용자 정의 속성은 전역 속성이 아니며, 이를 통해 사용자 애플리케이션 접속 전체 과정을 추적하고, 사용자에게 영향을 미친 접속 상황을 파악 및 발견하며, 사용자 접속 성능을 모니터링할 수 있습니다.
기타 데이터 유형 속성¶
Session¶
속성¶
| 필드 | 유형 | 설명 |
|---|---|---|
session_id |
string | 세션 ID |
session_type |
string | 세션 유형. 참조 값: user & test user: RUM 기능으로 생성된 데이터 test: headless 신서틱 테스트로 생성된 데이터 |
session_referrer |
string | 세션 출처; 일반적으로 출처 페이지 주소를 기록 |
session_first_view_id |
string | 현재 세션의 첫 번째 페이지 view_id |
session_first_view_name |
string | 현재 세션의 첫 번째 페이지 이름 |
session_last_view_id |
string | 현재 세션의 마지막 접속 페이지 view_id |
session_last_view_name |
string | 현재 세션의 마지막 페이지 이름 |
메트릭¶
| 필드 | 유형 | 설명 |
|---|---|---|
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 | 페이지 URL |
performance_supported |
boolean | 현재 플랫폼에서 Performance Observer 구독 성공 여부 |
first_render_supported |
boolean | 현재 플랫폼에 SDK에서 사용 가능한 최초 렌더링 신호 존재 여부 |
view_start_reason |
string | View 생성 이유: page_load, page_show 또는 session_renewal |
메트릭¶
| 필드 | 유형 | 설명 |
|---|---|---|
loading_time |
number(ns) | 페이지 navigation과 생명주기 관찰에서 측정된 최대 로딩 소요 시간 |
page_ready_time |
number(ns) | View 시작부터 onReady까지의 소요 시간; page_fmp는 호환 필드 |
first_render_time |
number(ns) | WeChat firstRender.duration; Douyin은 first-paint - navigationStart; first_paint_time은 호환 필드 |
page_fp |
number(ns) | FP의 현재 페이지 navigationStart 기준 소요 시간 |
page_fcp |
number(ns) | FCP의 현재 페이지 navigationStart 기준 소요 시간 |
page_lcp |
number(ns) | 현재 페이지의 최근 LCP의 navigationStart 기준 소요 시간 |
first_render_data_transfer_time |
number(ns) | 최초 렌더링 초기화 데이터 전송 소요 시간 |
first_render_wait_time |
number(ns) | 데이터 수신 완료부터 뷰 레이어 렌더링 시작까지의 대기 소요 시간 |
first_render_view_layer_time |
number(ns) | 뷰 레이어 최초 렌더링 소요 시간 |
time_spent |
number(ns) | 페이지 체류 시간 |
onload_to_onshow |
number(ns) | 페이지 onload 시간부터 onshow까지의 소요 시간 |
onshow_to_onready |
number(ns) | 페이지 onshow 시간부터 onready까지의 소요 시간 |
ready_reached |
boolean | 현재 페이지 생명주기가 onReady에 도달했는지 여부 |
first_render_reached |
boolean | 현재 페이지가 플랫폼 최초 렌더링 신호를 수신했는지 여부 |
ended_before_ready |
boolean | page_load View 종료 시 onReady에 도달하지 못했는지 여부 |
ended_before_render |
boolean | 최초 렌더링 신호 지원 시 page_load View가 최초 렌더링 전에 종료되었는지 여부 |
view_end_reason |
string | View 종료 이유: onHide, onUnload 또는 session_renewal |
view_is_active |
boolean | View가 아직 활성 상태인지 여부 |
view_setdata_duration |
number(ns) | 현재 View의 모든 유효한 setData 업데이트 누적 소요 시간 |
view_setdata_max_duration |
number(ns) | 단일 setData 업데이트 최대 소요 시간 |
view_setdata_pending_duration |
number(ns) | setData가 큐에 진입한 후 업데이트 시작까지의 누적 대기 소요 시간 |
view_setdata_update_duration |
number(ns) | setData 업데이트 시작부터 종료까지의 누적 실행 소요 시간 |
view_setdata_merged_count |
number | 플랫폼에서 병합 처리된 setData 업데이트 횟수 |
is_active |
boolean | 사용자가 아직 활성 상태인지 판단, 참조 값: true & false |
성능 필드의 플랫폼 기준, 화이트 스크린 후보 통계 및 알려진 경계에 대해서는 성능 문제 분석을 참조하세요.
통계 메트릭¶
| 필드 | 유형 | 설명 |
|---|---|---|
view_error_count |
number | 페이지 로드 시 발생한 오류 횟수 |
view_resource_count |
number | 페이지 로드 시 요청된 리소스 개수 |
view_long_task_count |
number | 페이지 로드 시 발생한 긴 작업 개수 |
view_action_count |
number | 페이지 조회 중 작업 횟수 |
view_setdata_count |
number | 페이지 set_data 호출 횟수 |
view_apdex_level |
number | 페이지 최초 렌더링 |
Resource¶
View 속성¶
| 필드 | 유형 | 설명 |
|---|---|---|
view_id |
string | 페이지 접속 시 생성되는 고유 ID |
view_referrer |
string | 페이지 출처 |
view_name |
string | 페이지 URL |
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_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_referrer |
string | 페이지 출처 |
view_name |
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 path 부분 |
resource_url_path_group |
string | 리소스 URL path 그룹 |
resource_method |
string | 리소스 요청 방식 |
메트릭¶
| 필드 | 유형 | 설명 |
|---|---|---|
error_message |
string | 오류 메시지 |
error_stack |
string | 오류 스택 |
Long Task¶
View 속성¶
| 필드 | 유형 | 설명 |
|---|---|---|
view_id |
string | 페이지 접속 시 생성되는 고유 ID |
is_active |
boolean | 사용자가 아직 활성 상태인지 판단, 참조 값: true & false |
view_referrer |
string | 페이지 출처 |
view_name |
string | 페이지 URL |
메트릭¶
| 필드 | 유형 | 설명 |
|---|---|---|
duration |
number(ns) | 페이지 로드 시 발생한 긴 작업 소요 시간 |
Action¶
View 속성¶
| 필드 | 유형 | 설명 |
|---|---|---|
view_id |
string | 페이지 접속 시 생성되는 고유 ID |
is_active |
boolean | 사용자가 아직 활성 상태인지 판단, 참조 값: true & false |
view_referrer |
string | 페이지 출처 |
view_name |
string | 페이지 URL |
Action 속성¶
| 필드 | 유형 | 설명 |
|---|---|---|
action_id |
string | 사용자 페이지 작업 시 생성되는 고유 ID |
action_name |
string | 작업 이름 |
action_type |
string | 작업 유형: 시작 시도 - launch_attempt(view 관련 정보 없음) 시작 - launch(view 관련 정보 없음) 미니앱 패키지 다운로드 - package_download(view 관련 정보 없음) 스크립트 삽입 - script_insert(view 관련 정보 없음) 클릭 - click 등 |
메트릭¶
| 필드 | 유형 | 설명 |
|---|---|---|
duration |
number(ns) | 페이지 작업 소요 시간 |
app_launch_attempt |
boolean | action_type=launch_attempt일 때 true; 이 이벤트는 duration을 기록하지 않음 |
통계 메트릭¶
| 필드 | 유형 | 설명 |
|---|---|---|
action_long_task_count |
number | 작업과 연결된 긴 작업 횟수 |
action_resource_count |
number | 작업과 연결된 리소스 요청 횟수 |
action_error_count |
number | 작업과 연결된 오류 횟수 |