Cocos Creator 앱 데이터 수집
소개
Cocos Creator 데이터 수집은 Android, iOS Native SDK에 의존합니다. 이 페이지에서는 모바일 SDK의 통합 데이터 유형과 필드에 따라 실제로 업로드할 수 있는 RUM 데이터를 설명합니다. 특정 필드가 생성되는지 여부는 Cocos Creator 자동 수집, 수동 수집 및 Native 수집 설정에 따라 달라집니다.
데이터 유형
Guance의 실제 사용자 모니터링(RUM)에는 여섯 가지 데이터 유형이 포함됩니다.
| 유형 |
설명 |
| session |
사용자 세션 정보 기록입니다. 현재 세션의 페이지, 리소스, 작업, 오류, 긴 작업 등의 액세스 데이터가 모두 이 세션에 연결됩니다. |
| view |
사용자가 모바일 앱의 페이지에 접근할 때마다 View 레코드가 하나 생성됩니다. 사용자가 같은 페이지에 머무르는 동안 리소스, 긴 작업, 오류, 작업 레코드는 view_id로 해당 RUM View에 연결됩니다. |
| resource |
사용자가 페이지에 접근할 때 로드된 리소스 정보 기록입니다. |
| error |
모바일 앱에서 발생한 예외 또는 크래시입니다. |
| long_task |
앱에서 메인 스레드를 지정된 시간 임계값 이상 차단하는 긴 작업 기록입니다. |
| action |
모바일 앱의 사용자 활동(앱 시작, 탭, 스와이프, 뒤로 가기 등)을 기록합니다. 각 작업에는 고유한 action_id가 포함됩니다. |
전역 속성
RUM의 시나리오 구성과 이벤트 알림은 아래의 전역 속성으로 조회할 수 있습니다.
SDK 속성
| 필드 |
유형 |
설명 |
sdk_name |
string |
수집기 이름입니다. Cocos Creator SDK는 Native SDK를 통해 업로드되며, df_ios_rum_sdk 또는 df_android_rum_sdk에 해당합니다. |
sdk_version |
string |
수집기 버전 정보입니다. |
앱 속성
| 필드 |
유형 |
설명 |
app_id |
string |
필수 항목, 사용자가 앱에 접근할 때의 고유 ID 식별자이며 Guance 콘솔에서 모니터를 생성할 때 자동으로 생성됩니다. |
env |
string |
필수 항목, 환경 필드입니다. 속성 값: prod, gray, pre, common, local. |
version |
string |
필수 항목, 버전 번호입니다. |
service |
string |
선택 항목, 소속 비즈니스 또는 서비스 이름입니다. Native SDK의 기본 서비스 이름은 df_rum_ios 또는 df_rum_android입니다. |
사용자 및 세션 속성
| 필드 |
유형 |
설명 |
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. |
기기 및 해상도 속성
| 필드 |
유형 |
설명 |
device |
string |
모바일 기기 제조사입니다. |
model |
string |
모바일 기기 모델입니다. |
device_uuid |
string |
모바일 기기의 고유 ID입니다. Android는 ANDROID_ID를, iOS는 UIDevice.identifierForVendor를 사용하여 생성합니다. |
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 |
도시입니다. |
사용자 정의 속성
전역 속성 외에도 사용자 정의 속성(SDK는 사용자 정의 Tag 데이터 추가를 지원합니다)으로 시나리오를 구성하고 이벤트 알림을 설정할 수 있습니다. 사용자 정의 속성은 비전역 속성으로, 사용자가 앱에 접근하는 전체 과정을 추적하여 영향을 받은 사용자 접근을 특정하고 발견하는 데 사용할 수 있습니다.
기타 데이터 유형 속성
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 |
페이지 이름입니다. Cocos Creator 자동 수집 시에는 씬 이름입니다. |
Action 속성
| 필드 |
유형 |
설명 |
action_id |
string |
사용자가 페이지에서 작업할 때 생성되는 고유 ID입니다. |
action_name |
string |
작업 이름입니다. |
action_type |
string |
작업 유형입니다(콜드 스타트, 웜 스타트, click 등). |
지표
| 필드 |
유형 |
설명 |
loading_time |
number(ns) |
페이지 로드 시간입니다. |
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 |
페이지 조회 과정에서 발생한 작업 횟수입니다. |
모니터링 지표
| 필드 |
유형 |
설명 |
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 |
작업 유형입니다(콜드 스타트, 웜 스타트, click 등). |
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 해석 시간입니다. 계산 방식: dnsEndTime - dnsStartTime. |
resource_tcp |
number(ns) |
리소스 로드 TCP 연결 시간입니다. 계산 방식: tcpEndTime - tcpStartTime. |
resource_ssl |
number(ns) |
리소스 로드 SSL 연결 시간입니다. 계산 방식: sslEndTime - sslStartTime. |
resource_ttfb |
number(ns) |
리소스 로드 요청 응답 시간입니다. |
resource_trans |
number(ns) |
리소스 로드 콘텐츠 전송 시간입니다. 계산 방식: responseEndTime - responseStartTime. |
resource_first_byte |
number(ns) |
리소스 로드 첫 바이트 시간입니다. |
duration |
number(ns) |
리소스 로드 총 시간입니다. |
request_header |
string |
리소스 요청 헤더입니다. |
response_header |
string |
리소스 응답 헤더입니다. |
Resource 단계별 지표
Cocos Creator는 fetch와 XMLHttpRequest를 자동 수집할 때 요청 및 응답의 기본 정보와 총 소요 시간을 업로드합니다. DNS, TCP, SSL 등의 단계별 지표는 수동 수집 시 FTResourceMetrics로 해당 시간 값을 제공한 경우에만 생성됩니다.
Error
View 속성
| 필드 |
유형 |
설명 |
view_id |
string |
페이지에 접근할 때마다 생성되는 고유 ID입니다. |
view_referrer |
string |
페이지 출처, 즉 페이지의 상위 페이지입니다. |
view_name |
string |
페이지 이름입니다. |
Action 속성
| 필드 |
유형 |
설명 |
action_id |
string |
사용자가 페이지에서 작업할 때 생성되는 고유 ID입니다. |
action_name |
string |
작업 이름입니다. |
action_type |
string |
작업 유형입니다(콜드 스타트, 웜 스타트, click 등). |
Error 속성
| 필드 |
유형 |
설명 |
error_source |
string |
오류 출처입니다. 참고 값: logger 또는 network. |
error_type |
string |
오류 유형입니다. Cocos Creator 레이어의 일반적인 값: cocos_error, unhandled_promise_rejection, network_error. Native 레이어에서는 java_crash, native_crash, anr_error, anr_crash, ios_crash 등이 발생할 수 있습니다. |
error_situation |
string |
오류 발생 시점입니다. 참고 값: startup(시작 시), run(실행 중). |
error_source=network인 경우 다음 Network Error 속성을 추가할 수 있습니다.
| 필드 |
유형 |
설명 |
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 모니터링 속성
| 필드 |
유형 |
설명 |
memory_total |
string |
선택 항목, 총 메모리입니다. |
memory_use |
number |
선택 항목, 메모리 사용률입니다. |
cpu_use |
number |
선택 항목, CPU 사용률입니다. |
battery_use |
number |
선택 항목, 현재 휴대폰 배터리 잔량입니다. |
locale |
string |
현재 시스템 언어입니다. |
지표
| 필드 |
유형 |
설명 |
error_message |
string |
오류 메시지입니다. |
error_stack |
string |
오류 스택입니다. |
Long Task
View 속성
| 필드 |
유형 |
설명 |
view_id |
string |
페이지에 접근할 때마다 생성되는 고유 ID입니다. |
view_referrer |
string |
페이지 출처, 즉 페이지의 상위 페이지입니다. |
view_name |
string |
페이지 이름입니다. |
Action 속성
| 필드 |
유형 |
설명 |
action_id |
string |
사용자가 페이지에서 작업할 때 생성되는 고유 ID입니다. |
action_name |
string |
작업 이름입니다. |
action_type |
string |
작업 유형입니다(콜드 스타트, 웜 스타트, click 등). |
지표
| 필드 |
유형 |
설명 |
duration |
number(ns) |
긴 작업 시간입니다. |
long_task_stack |
string |
긴 작업 스택입니다. |
Long Task 수집 설명
Cocos JavaScript 레이어는 현재 Long Task를 자동으로 모니터링하지 않습니다. 비즈니스 로직에서는 알려진 작업의 소요 시간을 측정하여 addLongTask()로 업로드할 수 있으며, Native UI Block/Freeze를 활성화하면 Native 레이어의 긴 작업도 업로드할 수 있습니다.
Action
View 속성
| 필드 |
유형 |
설명 |
view_id |
string |
페이지에 접근할 때마다 생성되는 고유 ID입니다. |
view_referrer |
string |
페이지 출처, 즉 페이지의 상위 페이지입니다. |
view_name |
string |
페이지 이름입니다. |
Action 속성
| 필드 |
유형 |
설명 |
action_id |
string |
사용자가 페이지에서 작업할 때 생성되는 고유 ID입니다. |
action_name |
string |
작업 이름입니다. Cocos Creator 자동 수집 시 이벤트 대상 노드 이름을 우선 사용합니다. |
action_type |
string |
작업 유형입니다. Cocos Creator 전역 터치 자동 수집 유형은 click입니다. |
지표
| 필드 |
유형 |
설명 |
duration |
number(ns) |
페이지 작업에 소요된 시간입니다. |
통계 지표
| 필드 |
유형 |
설명 |
action_long_task_count |
number |
작업과 연결된 긴 작업 횟수입니다. |
action_resource_count |
number |
작업과 연결된 리소스 요청 횟수입니다. |
action_error_count |
number |
작업과 연결된 오류 횟수입니다. |
관련 설정
자동 수집 규칙은 사용자 정의 수집 규칙, 수동 수집 인터페이스는 RUM 수동 계측을 참조하세요. 데이터 수집 범위와 민감 데이터 처리에 대해서는 데이터 및 개인정보 보호를 참조하세요.