콘솔로 이동

Firebase Performance Monitoringplat_iosplat_android

앱의 성능 문제를 파악합니다.

Firebase Performance Monitoring은 iOS, Android, 웹 앱의 성능 특성을 파악하는 데 도움이 되는 서비스입니다.

Performance Monitoring SDK를 사용하여 앱에서 성능 데이터를 수집하고 Firebase Console에서 데이터를 검토 및 분석합니다. Performance Monitoring을 통해 앱의 성능을 개선할 수 있는 조건과 시점을 파악하여 성능 문제를 해결할 수 있습니다.

iOS Android

주요 기능

앱 시작 시간, HTTP/S 네트워크 요청 등을 자동으로 측정 앱에 Performance Monitoring SDK를 통합하면 코드를 작성할 필요 없이 앱 성능을 크게 좌우하는 여러 가지 요소에 대한 모니터링을 시작할 수 있습니다. 기본 앱의 경우 SDK는 시작 시간, 화면별 렌더링 데이터, 포그라운드 활동, 백그라운드 활동을 로깅합니다. 웹 앱의 경우 SDK는 콘텐츠가 포함된 첫 페인트, 사용자가 앱과 상호작용하는 기능 등의 요소를 로깅합니다.
앱 성능을 개선할 수 있는 상황 파악 사용자에게 불편을 주는 상황과 이유를 정확히 파악하지 못하면 앱의 성능을 최적화하기가 어려울 수 있습니다. Performance Monitoring을 사용하면 성능 측정항목을 국가, 기기, 앱 버전, OS 수준에 따라 분류하여 파악할 수 있습니다.
앱의 Performance Monitoring 맞춤설정 trace를 만들면 새 화면을 로드하거나 새 상호작용 기능을 표시할 때와 같은 특정 상황의 앱 성능을 캡처할 수 있습니다. 또한 이러한 trace를 수집하면서 직접 정의한 이벤트(예: 캐시 적중)를 계수하는 커스텀 측정항목을 만들 수 있습니다.

기본 원리

Performance Monitoring SDK를 포함하는 iOS, Android, 웹 앱에서 Performance Monitoring을 사용할 수 있습니다. Performance Monitoring은 앱의 trace 및 HTTP/S 네트워크 요청을 모니터링합니다.

자동 trace

trace는 앱에서 두 시점 간에 캡처된 성능 데이터 보고서입니다. Performance Monitoring에는 자동으로 여러 기본 trace가 포함됩니다.

  • iOS 및 Android 앱의 경우 자동 trace에 다음이 포함됩니다.

    • 앱 시작 trace — 사용자가 앱을 여는 시점과 앱이 반응하는 시점 사이의 시간을 측정합니다.

    • 포그라운드 앱 trace백그라운드 앱 trace — 앱이 포그라운드에서 실행되거나 유휴 상태일 때 앱의 성능을 파악할 수 있습니다.

  • 웹 앱의 경우 자동 trace는 페이지 로드이며 다음과 같은 측정항목으로 나뉩니다.

    • 첫 페인트콘텐츠가 포함된 첫 페인트 — 브라우저가 앱을 렌더링하기 시작할 때와 실제 콘텐츠가 페이지에 처음 표시될 때를 측정합니다.

    • 첫 입력 지연 — 브라우저가 크기가 큰 자바스크립트 번들과 같은 앱의 리소스를 로드하고 파싱하는 것이 아니라 사용자와 앱의 첫 번째 상호작용에 얼마나 빨리 응답하는지를 파악할 수 있습니다.

    • DOM 관련 이벤트 — 앱의 리소스(HTML, 자바스크립트, CSS, 이미지)를 로드하고 파싱하는 데 걸리는 시간을 측정하여 앱의 성능에 대한 사용자 인식을 파악할 수 있습니다.

커스텀 trace

커스텀 trace를 구성할 수도 있습니다. 커스텀 trace는 앱의 특정 코드에 연결된 성능 데이터 보고서입니다. SDK에서 제공하는 API를 사용하여 커스텀 trace의 시작과 끝을 정의합니다.

커스텀 trace를 상세하게 구성하여 범위 내에서 발생하는 성능 관련 이벤트에 대한 커스텀 측정항목을 기록할 수 있습니다. 예를 들어 캐시 적중 및 부적중 횟수 또는 UI가 체감될 정도로 오래 응답하지 않은 횟수에 대한 커스텀 측정항목을 만들 수 있습니다.

iOS, Android 또는 앱의 커스텀 trace를 구성하는 방법은 시작 가이드를 참조하세요.

HTTP/S 네트워크 요청

HTTP/S 네트워크 요청은 앱이 서비스 엔드포인트로 요청을 전송한 시점과 해당 엔드포인트의 응답이 완료된 시점 사이의 시간을 캡처하는 보고서입니다. 앱에서 요청을 전송하는 모든 엔드포인트에 대해 Performance Monitoring은 다음과 같은 몇 가지 측정항목을 캡처합니다.

  • 응답 시간: 요청이 전송된 시점과 응답이 완전히 수신된 시점 사이의 시간
  • 페이로드 크기: 앱에서 다운로드 및 업로드한 네트워크 페이로드의 바이트 크기
  • 성공률: 전체 응답 대비 성공적 응답의 비율(네트워크 또는 서버 장애 측정)

속성

trace 및 HTTP/S 네트워크 요청에 대해 다음과 같이 분류된 Performance Monitoring 데이터를 확인할 수 있습니다.

TraceHTTP/S 네트워크 요청
iOS 및 Android 앱
  • 앱 버전
  • 국가
  • OS 수준
  • 기기
  • 무선
  • 이동통신사
  • 앱 버전
  • 국가
  • OS 수준
  • 기기
  • 무선
  • 이동통신사
  • MIME 유형
웹 앱
  • 브라우저
  • 국가
  • 효과적인 연결 유형
  • 페이지 URL
  • 서비스 워커 상태
  • 공개 상태

커스텀 속성을 설정하여 앱에 해당하는 카테고리별로 데이터를 세분화할 수도 있습니다.

구현 경로

앱에 Performance Monitoring SDK 추가 앱에서 사용할 기타 Firebase 제품과 함께 Performance Monitoring SDK를 앱에 추가할 수 있습니다.
(선택사항)
Performance Monitoring SDK로 앱의 커스텀 trace 및 측정항목 정의
Performance Monitoring SDK를 사용하여 앱 성능의 특정한 요소를 측정하는 커스텀 trace 및 측정항목을 정의할 수 있습니다.
Firebase Console에서 성능 데이터 모니터링 Firebase Console에서 사용자가 체감하는 성능 데이터를 모니터링하여 앱 성능을 높일 수 있는 여지를 구체적으로 파악할 수 있습니다. 앱 버전, 국가, 기기 또는 OS별로 데이터를 분류할 수도 있습니다.

사용자 데이터

Performance Monitoring은 이름, 이메일 주소, 전화번호 등 개인을 식별하는 정보를 영구적으로 저장하지 않습니다. Performance Monitoring은 HTTP/S 네트워크 요청을 모니터링할 때 URL 매개변수를 제외한 URL을 사용하여 집계된 익명 URL 패턴을 작성하며, 이 패턴이 저장되어 Firebase 콘솔에 표시됩니다.

Performance Monitoring에서 수집하는 데이터의 전체 목록은 데이터 수집을 참조하세요.

다음 단계