Android 애플리케이션 데이터 수집
애플리케이션 데이터를 Guance로 수집한 후, Guance 콘솔에서 사용자 정의 시나리오를 구성하고 이상 탐지 이벤트를 설정할 수 있습니다.
데이터 유형
Guance의 실제 사용자 모니터링(RUM)에는 6가지 데이터 유형이 포함됩니다. Android SDK는 기본적으로 view, resource, error, long_task, action의 5가지 데이터를 직접 업로드하며, session은 세션 차원의 집계 데이터입니다.
| 유형 |
설명 |
| session |
사용자 세션 정보 기록입니다. 현재 세션에서는 세션 차원으로 사용자 페이지, 리소스, 작업, 오류, 긴 작업 관련 액세스 데이터를 기록합니다. |
| view |
사용자가 모바일 애플리케이션의 페이지에 액세스할 때마다 조회 기록이 생성됩니다. 사용자가 동일한 페이지에 머무는 동안 리소스, 긴 작업, 오류 및 작업 기록은 view_id 속성을 통해 관련 RUM 뷰에 연결됩니다. |
| resource |
사용자가 페이지에 액세스할 때 로드된 리소스 정보 기록입니다. |
| error |
모바일 애플리케이션에서 발생한 예외 또는 크래시입니다. |
| long_task |
애플리케이션에서 지정된 지속 시간 임계값을 초과하여 메인 스레드를 차단하는 모든 작업에 대해 긴 작업 이벤트가 생성됩니다. |
| action |
모바일 애플리케이션의 사용자 활동(앱 실행, 클릭, 스와이프, 뒤로 가기 등)을 기록합니다. 각 작업에는 고유한 action_id가 첨부됩니다. |
글로벌 속성
사용자 액세스 모니터링의 시나리오 구성 및 이벤트 알림은 아래의 글로벌 속성을 통해 조회할 수 있습니다.
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 |
수집기 버전 정보 |
sdk_pkg_info |
string |
수집기 버전 정보 집합으로, SDK 내부 모듈 버전 정보를 포함합니다. |
애플리케이션 속성
| 필드 |
유형 |
설명 |
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 |
application_uuid |
string |
애플리케이션 고유 식별자입니다. |
사용자 및 세션 속성
| 필드 |
유형 |
설명 |
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 데이터와 연결되었는지 여부입니다. |
디바이스 및 해상도 속성
| 필드 |
유형 |
설명 |
device |
string |
모바일 디바이스 제조사 |
model |
string |
모바일 디바이스 모델 |
device_uuid |
string |
모바일 디바이스 고유 ID. ANDROID_ID를 사용하여 생성 |
os |
string |
운영 체제 정보 |
os_version |
string |
운영 체제 버전 |
os_version_major |
string |
운영 체제 주요 버전 |
screen_size |
string |
화면 해상도 |
arch |
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는 사용자가 사용자 정의 태그 데이터를 추가하는 것을 지원)을 통해 시나리오를 구성하고 이벤트 알림을 설정할 수 있습니다. 사용자 정의 속성은 글로벌 속성이 아니며, 사용자 정의 속성을 통해 사용자가 애플리케이션에 액세스하는 전체 과정을 추적하고, 영향을 받은 사용자 액세스 상황을 파악 및 발견하며, 사용자 액세스 성능을 모니터링할 수 있습니다.
기타 데이터 유형 속성
Session
Session 관련 데이터는 서버 측 세션 차원의 집계 데이터이며, Android SDK가 기본적으로 직접 업로드하는 측정값이 아닙니다.
속성
| 필드 |
유형 |
설명 |
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 |
페이지 이름 |
지표
| 필드 |
유형 |
설명 |
loading_time |
number(ns) |
페이지 로드 시간 |
time_spent |
number(ns) |
페이지 체류 시간 |
is_active |
boolean |
사용자가 계속 활성 상태인지 확인, 참고 값: true & false |
session_sample_rate |
number |
RUM 세션 샘플링 비율 |
session_on_error_sample_rate |
number |
오류 세션 샘플링 비율 |
sampled_for_error_session |
boolean |
현재 세션이 오류 샘플링 세션인지 여부, 참고 값: true & false |
sampled_for_error_replay |
boolean |
현재 세션이 오류 Session Replay 샘플링인지 여부, 참고 값: true & false |
session_error_timestamp |
number(ns) |
세션이 오류 샘플링을 트리거할 때 발생한 오류 시간 |
통계 지표
| 필드 |
유형 |
설명 |
view_error_count |
number |
페이지 로드 시마다 발생한 오류 횟수 |
view_resource_count |
number |
페이지 로드 시마다 요청된 리소스 개수 |
view_long_task_count |
number |
페이지 로드 시마다 발생한 긴 작업 개수 |
view_long_task_rate |
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 |
선택 사항, 페이지 메모리 최대값 |
battery_current_avg |
number |
선택 사항, 페이지 배터리 전류 평균값 |
battery_current_max |
number |
선택 사항, 페이지 배터리 전류 최대값 |
Resource
View 속성
| 필드 |
유형 |
설명 |
view_id |
string |
페이지에 액세스할 때마다 생성되는 고유 ID |
view_referrer |
string |
페이지 출처, 페이지의 상위 페이지 |
view_name |
string |
페이지 이름 |
Action 속성
| 필드 |
유형 |
설명 |
action_id |
string |
사용자 페이지 작업 시 생성되는 고유 ID |
action_name |
string |
작업 이름 |
Resource 속성
| 필드 |
유형 |
설명 |
resource_url |
string |
리소스 URL |
resource_id |
string |
리소스 고유 ID |
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_host_ip |
string |
리소스 URL 액세스 대상 IP |
response_connection |
string |
리소스 응답 헤더 Connection 값 |
response_content_type |
string |
리소스 응답 헤더 Content-Type 값 |
response_content_encoding |
string |
리소스 응답 헤더 Content-Encoding 값 |
resource_http_protocol |
string |
리소스 요청에 사용된 HTTP 프로토콜 |
resource_connection_reuse |
boolean |
리소스 요청 연결 재사용 여부 |
span_id |
string |
애플리케이션 성능 모니터링(APM) 스팬 ID |
trace_id |
string |
애플리케이션 성능 모니터링(APM) 트레이스 ID |
session_has_replay |
boolean |
현재 리소스가 Session Replay 데이터와 연결되었는지 여부 |
지표
| 필드 |
유형 |
설명 |
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) |
resource_request_size |
number |
리소스 요청 크기, 기본 단위: byte |
resource_dns_time |
object |
리소스 DNS 해석 시간, 형식: {duration: number(ns), start: number(ns)} |
resource_connect_time |
object |
리소스 연결 소요 시간, 형식은 resource_dns_time과 동일 |
resource_first_byte_time |
object |
리소스 로드 첫 바이트 시간, 형식은 resource_dns_time과 동일 |
resource_ssl_time |
object |
리소스 SSL 연결 소요 시간, 형식은 resource_dns_time과 동일 |
resource_download_time |
object |
리소스 다운로드 소요 시간, 형식은 resource_dns_time과 동일 |
request_header |
string |
리소스 요청 헤더 |
response_header |
string |
리소스 응답 헤더 |
네트워크 스냅샷 지표
| 필드 |
유형 |
설명 |
network_available |
boolean |
리소스 요청 시작 시 네트워크 사용 가능 여부 |
network_validated |
boolean |
리소스 요청 시작 시 네트워크가 시스템 확인을 통과했는지 여부 |
network_downlink_kbps |
number |
리소스 요청 시작 시 네트워크 다운링크 대역폭, 단위: kbps |
network_uplink_kbps |
number |
리소스 요청 시작 시 네트워크 업링크 대역폭, 단위: kbps |
network_signal_strength |
number |
리소스 요청 시작 시 네트워크 신호 강도 |
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 오류 유형: java_crash | native_crash | anr_error | anr_crash network 오류 유형: network_error |
error_situation |
string |
오류 발생 시점, 참고 값: startup(시작 시) 및 run(실행 중) |
type=network인 경우, 다음 Network Error 속성이 추가됩니다.
| 필드 |
유형 |
설명 |
resource_status |
string |
리소스 요청 반환 상태 값 |
resource_status_group |
string |
리소스 요청 반환 상태 그룹 값 |
resource_id |
string |
리소스 고유 ID |
resource_url |
string |
리소스 URL |
resource_url_host |
string |
리소스 URL 도메인 부분 |
resource_url_path |
string |
리소스 URL 경로 부분 |
resource_url_path_group |
string |
리소스 URL 경로 그룹 |
resource_method |
string |
리소스 요청 방식 |
Error 모니터링 속성
| 필드 |
유형 |
설명 |
memory_total |
string |
선택 사항, 메모리 총량 |
memory_use |
number |
선택 사항, 메모리 사용률 |
cpu_use |
number |
선택 사항, CPU 사용률 |
battery_use |
number |
선택 사항, 현재 휴대폰 배터리 잔량 |
carrier |
string |
선택 사항, 이동 통신 사업자 |
locale |
string |
현재 시스템 언어 |
지표
| 필드 |
유형 |
설명 |
error_message |
string |
오류 메시지 |
error_stack |
string |
오류 스택 |
foreground_crash_free_duration |
number(ns) |
포그라운드 무충돌 지속 시간 |
background_crash_free_duration |
number(ns) |
백그라운드 무충돌 지속 시간 |
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 |
현재 긴 작업이 Session Replay 데이터와 연결되었는지 여부 |
Action
View 속성
| 필드 |
유형 |
설명 |
view_id |
string |
페이지에 액세스할 때마다 생성되는 고유 ID |
view_referrer |
string |
페이지 출처, 페이지의 상위 페이지 |
view_name |
string |
페이지 이름 |
Action 속성
| 필드 |
유형 |
설명 |
action_id |
string |
사용자 페이지 작업 시 생성되는 고유 ID |
action_name |
string |
작업 이름 |
action_type |
string |
작업 유형(콜드/웜 스타트, 클릭 등) |
app_launch_type |
string |
콜드 스타트 Action의 시작 유형, 참고 값: foreground(포그라운드 시작) 및 background(백그라운드 시작). ft-sdk 1.7.2 이상 버전에서 지원 |
지표
| 필드 |
유형 |
설명 |
duration |
number(ns) |
페이지 작업 소요 시간 |
app_pre_application_init_time |
object |
콜드 스타트 시, 프로세스 시작부터 Application.onCreate() 이전의 초기화 소요 시간, 형식: {duration: number(ns), start: number(ns)} |
app_application_init_time |
object |
콜드 스타트 시, Application.onCreate()부터 첫 번째 Activity preOnCreate()까지의 초기화 소요 시간, 형식은 app_pre_application_init_time과 동일 |
app_first_frame_init_time |
object |
콜드 스타트 시, 첫 번째 Activity preOnCreate()부터 첫 프레임 렌더링 완료까지의 소요 시간, 형식은 app_pre_application_init_time과 동일 |
session_has_replay |
boolean |
현재 작업이 Session Replay 데이터와 연결되었는지 여부 |
통계 지표
| 필드 |
유형 |
설명 |
action_long_task_count |
number |
작업과 연결된 긴 작업 횟수 |
action_resource_count |
number |
작업과 연결된 리소스 요청 횟수 |
action_error_count |
number |
작업과 연결된 오류 횟수 |