Flutter 애플리케이션 데이터 수집
개요
Flutter 데이터 수집은 Android iOS Native 프레임워크에 의존합니다. Android iOS 데이터 수집과의 비교를 위해, 아래 취소선으로 표시된 항목은 구현되지 않은 부분입니다.
데이터 유형
Guance의 실제 사용자 모니터링(RUM)에는 6가지 데이터 유형이 포함됩니다.
| 유형 |
설명 |
| session |
사용자 세션 정보 기록입니다. 현재 세션에서 세션 차원의 사용자 페이지, 리소스, 작업, 오류, 긴 작업 관련 액세스 데이터가 기록됩니다. |
| view |
사용자가 모바일 애플리케이션의 페이지에 방문할 때마다 조회 기록이 생성됩니다. 사용자가 동일한 페이지에 머무는 동안 리소스, 긴 작업, 오류 및 작업 기록은 view_id 속성을 통해 관련 RUM 뷰에 연결됩니다. |
| resource |
사용자가 페이지에 방문할 때 로드된 리소스 정보 기록입니다. |
| error |
모바일 애플리케이션에서 발생한 예외 또는 크래시입니다. |
| long_task |
애플리케이션에서 지정된 지속 시간 임계값을 초과하여 메인 스레드를 차단하는 모든 작업에 대해 긴 작업 이벤트가 생성됩니다. |
| action |
모바일 애플리케이션 내 사용자 활동(앱 시작, 클릭, 스와이프, 뒤로 가기 등)을 기록합니다. 각 작업에는 고유한 action_id가 첨부됩니다. |
전역 속성
실제 사용자 모니터링(RUM)의 시나리오 구축 및 이벤트 알림은 아래의 전역 속성을 통해 조회할 수 있습니다.
SDK 속성
| 필드 |
유형 |
설명 |
sdk_name |
string |
수집기 이름으로, 고정된 이름입니다.
df_macos_rum_sdk
df_linux_rum_sdk
df_windows_rum_sdk
df_web_rum_sdk
df_miniapp_rum_sdk
df_ios_rum_sdk
df_android_rum_sdk |
sdk_version |
string |
수집기 버전 정보입니다. |
애플리케이션 속성
| 필드 |
유형 |
설명 |
app_id |
string |
필수 항목입니다. 사용자 방문 애플리케이션의 고유 ID 식별자로, Guance 콘솔에서 모니터링을 생성할 때 자동으로 생성됩니다. |
env |
string |
필수 항목입니다. 환경 필드입니다. 속성 값: prod/gray/pre/common/local. 각 값의 의미는 다음과 같습니다. prod: 프로덕션 환경 gray: 카나리 환경 pre: 사전 릴리스 환경 common: 일상 환경 local: 로컬 환경 |
version |
string |
필수 항목입니다. 버전 번호입니다. |
service |
string |
선택 항목입니다. 소속된 비즈니스 또는 서비스 이름입니다. 고정된 이름입니다.
df_rum_ios
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 |
기기 및 해상도 속성
| 필드 |
유형 |
설명 |
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_code입니다. |
province |
string |
주/도입니다. |
city |
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 |
현재 세션의 첫 번째 페이지의 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 |
페이지 이름입니다. |
Action 속성
| 필드 |
유형 |
설명 |
action_id |
string |
사용자 페이지 작업 시 생성되는 고유 ID입니다. |
action_name |
string |
작업 이름입니다. |
action_type |
string |
작업 유형입니다(콜드/웜 스타트, click 클릭 등). |
메트릭
| 필드 |
유형 |
설명 |
loading_time |
number(ns) |
페이지 로딩 시간입니다. createView(viewName, duration)을 호출하고 starView() 전에 보고할 때만 생성됩니다. 자동 라우트 수집은 이 메트릭을 계산하지 않습니다. |
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 해석 시간입니다. 계산 방식: 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) |
리소스 로드 시간입니다. startResource() / stopResource()를 통해 전체 소요 시간을 기록합니다. |
request_header |
string |
리소스 요청 헤더입니다. |
response_header |
string |
리소스 응답 헤더입니다. |
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 |
오류 유형입니다. logger error type: flutter_crash | java_crash | native_crash | anr_error | anr_crash | ios_crash network error type: network_error |
error_situation |
string |
오류 발생 시점입니다. 참조 값: startup(시작 시) 및 run(런타임 시) |
type=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_message |
string |
끊김 정보입니다. |
long_task_stack |
string |
끊김 스택입니다. |
Action
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) |
페이지 작업 소요 시간입니다. |
통계 메트릭
| 필드 |
유형 |
설명 |
action_long_task_count |
number |
작업에 연결된 긴 작업 횟수입니다. |
action_resource_count |
number |
작업에 연결된 리소스 요청 횟수입니다. |
action_error_count |
number |
작업에 연결된 오류 횟수입니다. |