imqa.document

실제 사용자 모니터링 (RUM)

실제 사용자 경험을 들여다보다

Summary

실제 사용자 경험을 들여다보다

RUM이란 무엇인가요?

RUM(Real User Monitoring)은 실제 사용자가 웹 애플리케이션, Android 앱, iOS 앱을 사용하는 과정을 실시간으로 관찰하고 분석하는 혁신적인 모니터링 기술입니다. 마치 사용자의 어깨 너머로 화면을 함께 보는 것처럼, 모든 플랫폼에서 그들의 경험을 직접 체험할 수 있게 해줍니다.

RUM으로 무엇을 할 수 있나요?

웹 애플리케이션

  • 사용자 여정 추적: 페이지 방문부터 전환까지의 완전한 사용자 경로
  • 성능 병목 발견: 느린 API 호출, 렌더링 지연, 리소스 로딩 이슈
  • 실시간 오류 감지: JavaScript 예외, 네트워크 오류, 사용자 경험 방해 요소
  • 브라우저별 차이 분석: Chrome, Safari, Firefox 등 브라우저별 성능 차이

Android 애플리케이션

  • 앱 성능 최적화: 시작 시간, 화면 전환, 메모리 사용량 분석
  • ANR 및 크래시 방지: Application Not Responding과 예상치 못한 종료 사전 감지
  • 사용자 행동 패턴: 터치 이벤트, 제스처, 앱 내 네비게이션 분석
  • 디바이스별 최적화: 다양한 Android 기기에서의 성능 차이 파악

iOS 애플리케이션

  • 앱 반응성 측정: 터치 응답 시간, 애니메이션 끊김 현상 분석
  • 메모리 및 배터리 효율성: 리소스 사용 최적화를 위한 실시간 데이터
  • 네트워크 성능 추적: 모바일 데이터와 WiFi 환경에서의 성능 차이
  • iOS 버전별 호환성: 다양한 iOS 버전에서의 앱 동작 분석

IMQA RUM: 멀티플랫폼 통합 모니터링

간편한 설치와 설정

웹 애플리케이션

// NPM 패키지 설치
npm install @imqa/web-agent

// 간단한 초기화 - 자동 계측 활성화
import IMQA from '@imqa/web-agent';
IMQA.init({
  collectorURL: 'your-collector-url',
  serviceName: 'your-web-service',
  serviceKey: 'your-service-key',
  environment: 'production'
});

Android 애플리케이션

// Gradle 설정
implementation 'io.imqa:imqa-android-sdk:1.0.23'

// Application 클래스 초기화
val options = IMQAOption().apply {
    setCollectorURL("your-collector-url")
    setServiceKey("your-service-key")
    setSampleRate(1.0) // 100% 데이터 수집
}
IMQA.setup(options)
IMQA.initialize(applicationContext, this)

iOS 애플리케이션

// CocoaPods 또는 SPM 설치
import IMQACore

let endpoint = IMQA.Endpoints(collectorURL: "your-collector-url")
let option = IMQA.Options(
    serviceKey: "your-service-key",
    endpoints: endpoint,
    sampleRate: 1.0
)
IMQA.setup(options: option, isDebug: false).start()

자동 데이터 수집과 실시간 분석

웹 플랫폼 자동 추적

  • 페이지 라이프사이클: 로딩, 렌더링, 사용자 상호작용 전 과정
  • 네트워크 요청: XMLHttpRequest, Fetch API, WebSocket 연결
  • 사용자 이벤트: 클릭, 스크롤, 폼 제출, 키보드 입력
  • 성능 메트릭: Core Web Vitals, First Paint, Time to Interactive

Android 플랫폼 자동 추적

  • 앱 라이프사이클: Activity/Fragment 생성부터 소멸까지
  • 사용자 상호작용: 터치, 스와이프, 제스처, 버튼 클릭
  • 시스템 성능: CPU 사용률, 메모리 사용량, 네트워크 상태
  • 네트워크 통신: Retrofit, OkHttp, HttpsURLConnection

iOS 플랫폼 자동 추적

  • View Controller 라이프사이클: 화면 전환과 메모리 관리
  • 사용자 입력: 터치 이벤트, 제스처 인식, 키보드 상호작용
  • 시스템 리소스: 메모리 경고, 배터리 상태, 네트워크 품질
  • 앱 성능: 시작 시간, 프레임 드롭, 응답 지연

왜 IMQA RUM을 선택해야 할까요?

통합 플랫폼 모니터링

  • 단일 대시보드: 웹, Android, iOS 모든 플랫폼을 하나의 인터페이스에서 관리
  • 크로스 플랫폼 세션: 하이브리드 앱에서 네이티브와 웹뷰 간 통합 추적
  • 일관된 메트릭: 플랫폼별 특성을 고려한 표준화된 성능 지표

OpenTelemetry 표준 준수

  • 벤더 독립성: 표준 기반으로 다른 도구와의 연동 및 마이그레이션 용이
  • 확장성: 커스텀 계측 및 비즈니스 메트릭 추가 가능
  • 미래 지향성: 업계 표준을 따른 지속 가능한 모니터링 솔루션

개발자 친화적 설계

  • 최소 설정: 몇 줄의 코드로 강력한 모니터링 기능 활성화
  • 성능 오버헤드 최소화: 앱 성능에 미치는 영향 최소화
  • 유연한 설정: 프로젝트 요구사항에 맞는 세밀한 조정 가능

실제 사용 사례와 비즈니스 임팩트

전자상거래: 매출 직결 최적화

// 구매 전환률과 성능의 상관관계 분석
IMQA.recordLog('purchase_initiated', {
  product_id: 'item-123',
  category: 'electronics',
  loading_time: 2.3 // seconds
});
  • 페이지 로딩 1초 단축 → 전환율 7% 증가
  • 모바일 앱 시작 시간 50% 개선 → 일일 활성 사용자 15% 증가

금융 서비스: 신뢰성과 보안

// Android: 민감한 거래 과정 모니터링
IMQA.sendClickEvent(transferButton, true)
// 거래 완료까지의 전 과정 추적
  • API 응답 시간 최적화 → 사용자 이탈률 30% 감소
  • 오류 발생 즉시 감지 → 고객 불만 사항 사전 방지

미디어 스트리밍: 사용자 참여도 극대화

// iOS: 콘텐츠 로딩 성능 최적화
IMQA.customLog(level: .info, message: "Video buffer started")
  • 버퍼링 시간 40% 감소 → 시청 완료율 25% 증가
  • 디바이스별 최적화 → 저사양 기기 사용자 만족도 향상

고급 기능과 커스터마이징

사용자별 맞춤 분석

// 웹: 사용자 세그먼트별 성능 분석
IMQA.setUserIdAttribute('premium_user_12345');
IMQA.setGlobalAttributes({
  subscription_tier: 'premium',
  geographic_region: 'asia-pacific',
  device_category: 'high-end'
});
// Android: 사용자 그룹별 앱 성능 비교
IMQA.custom.setupUserId("enterprise_user_67890")
// 기업 사용자와 일반 사용자의 성능 차이 분석
// iOS: 사용자 행동 패턴 추적
IMQA.setUserId(id: "mobile_power_user_111")
// 파워 유저의 앱 사용 패턴 심층 분석

비즈니스 메트릭 연동

// 핵심 비즈니스 이벤트와 성능 데이터 연결
IMQA.recordLog('feature_engagement', {
  feature_name: 'video_call',
  session_duration: 1200, // seconds
  quality_score: 4.2
});

IMQA RUM으로 단순한 모니터링을 넘어 데이터 기반의 의사결정과 지속적인 사용자 경험 개선을 시작하세요. 실제 사용자의 목소리를 듣고, 그들이 정말로 원하는 디지털 경험을 제공할 수 있습니다.

플랫폼별 상세 가이드

각 플랫폼별 상세한 설정 방법과 고급 기능을 확인하세요:

통합 계측 항목 및 기능

웹 애플리케이션 계측

  • 네트워크 통신: XMLHttpRequest, Fetch API, WebSocket 연결 자동 추적
  • 사용자 상호작용: 클릭, 입력, 폼 제출, 드래그앤드롭, 스크롤 이벤트
  • 페이지 성능: Document load, 리소스 로딩, 동적 콘텐츠 로딩
  • SPA 지원: History API, 해시 변경, 라우트 전환 추적
  • 성능 지표: Core Web Vitals (LCP, FID, CLS, INP), Long Task 감지
  • 오류 추적: JavaScript 예외, Promise rejection, 리소스 오류, 콘솔 오류

Android 애플리케이션 계측

  • 앱 라이프사이클: Activity/Fragment 생명주기, 앱 시작/종료
  • 사용자 이벤트: 터치, 스와이프, 버튼 클릭, 제스처 인식
  • 네트워크 성능: Retrofit, OkHttp, HttpsURLConnection 요청 추적
  • 시스템 성능: ANR 감지, 메모리 사용량, CPU 사용률
  • 커스텀 로깅: 비즈니스 로직 기반 이벤트 추적
  • WebView 연동: 하이브리드 앱의 통합 세션 관리

iOS 애플리케이션 계측

  • 앱 라이프사이클: View Controller 전환, 앱 상태 변화
  • 사용자 상호작용: 터치 이벤트, 제스처, 키보드 입력
  • 네트워크 모니터링: URLSession, 네트워크 요청 성능 분석
  • 시스템 리소스: 메모리 경고, 배터리 사용량, 디스크 I/O
  • 크래시 분석: 예외 처리, 스택 트레이스 수집
  • WebView 통합: 네이티브-웹 간 세션 연결

공통 고급 기능

  • 세션 추적: 플랫폼 간 통합된 사용자 세션 관리
  • 실시간 컨텍스트: Timer, Promise, async-await를 통한 자동 컨텍스트 유지
  • 샘플링 제어: 효율적인 데이터 수집을 위한 유연한 샘플링 설정
  • 커스텀 속성: 비즈니스 메트릭과 사용자 정의 데이터 연결
  • 필터링: 특정 URL, 이벤트, 사용자 그룹 제외/포함 설정