콘솔로 이동

iOS 및 Android 앱의 자동 trace

trace는 앱에서 두 시점 간에 캡처된 성능 데이터 보고서입니다. Performance Monitoring은 iOS 및 Android 앱에 대해 다음과 같은 trace 유형을 자동으로 제공합니다.

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

  • 백그라운드 앱 trace — 앱이 백그라운드에서 실행되는 시간을 측정합니다.

  • 포그라운드 앱 trace — 앱이 포그라운드에서 실행되고 사용자가 사용할 수 있는 시간을 측정합니다.

  • 화면 trace — 화면의 전체 기간에 걸쳐 느린 프레임, 정지된 프레임을 측정합니다.

    Firebase Console에서 화면 trace는 다른 trace와 구분되어 별도의 표에 표시되므로 앱의 여러 화면의 성능을 쉽게 조사할 수 있습니다.

자동 trace 정의

Performance Monitoring은 앱의 메소드 호출 및 알림을 사용하여 각 유형의 자동 trace가 시작되고 중지되는 시점을 파악합니다.

앱 시작 trace

이 trace는 사용자가 앱을 여는 시점과 앱이 반응하는 시점 사이의 시간을 측정합니다. Console에서 trace 이름은 _app_start이고 보고된 측정항목은 기간입니다.

  • 애플리케이션에서 첫 번째 Object가 메모리에 로드될 때 시작됩니다.

  • 애플리케이션에서 UIApplicationDidBecomeActiveNotification 알림을 받은 후 성공적인 실행 루프가 처음 발생하면 중지됩니다.

백그라운드 앱 trace

이 trace는 앱이 백그라운드에서 실행되는 시간을 측정합니다. Console에서 trace 이름은 _app_in_background이고 보고된 측정항목은 기간입니다.

  • 애플리케이션이 UIApplicationWillResignActiveNotification 알림을 받으면 시작됩니다.

  • 애플리케이션이 UIApplicationDidBecomeActiveNotification 알림을 받으면 중지됩니다.

포그라운드 앱 trace

이 trace는 앱이 포그라운드에서 실행되고 사용자가 사용할 수 있는 시간을 측정합니다. Console에서 trace 이름은 _app_in_foreground이고 보고된 측정항목은 기간입니다.

  • 애플리케이션이 UIApplicationDidBecomeActiveNotification 알림을 받으면 시작됩니다.

  • 애플리케이션이 UIApplicationWillResignActiveNotification 알림을 받으면 중지됩니다.

화면 trace

이 trace는 화면의 전체 기간에 걸쳐 느린 프레임, 정지된 프레임을 측정합니다. 이 trace에 대해 보고된 측정항목은 느린 렌더링 프레임정지된 프레임입니다.

Firebase Console에서 화면 trace는 다른 trace와 구분되어 별도의 표에 표시되므로 앱의 여러 화면의 성능을 쉽게 조사할 수 있습니다.

  • 앱이 viewDidAppear:를 호출하면 keyWindow의 모든 UIViewController에 대해 시작됩니다.

  • 앱이 viewDidDisappear:를 호출하면 중지됩니다.

화면 trace는 정식 컨테이너 뷰 컨트롤러를 캡처하지 않습니다.

콘솔에서 자동 trace 모니터링

  1. Firebase Console에서 성능 대시보드로 이동합니다.

  2. 기기별 탭을 클릭하면 다음을 수행할 수 있습니다.

    • 모든 trace에 대해 수집된 데이터의 빠른 보고서 보기

    • 특정 trace를 클릭하여 trace 데이터 자세히 검토하기

    대시보드의 왼쪽 상단에 있는 필터add 버튼으로 속성별 데이터에 대한 기본 필터링을 수행합니다.

  3. 특정 trace를 클릭하면 측정항목 카드에 수집된 데이터 개요가 Console에 표시됩니다.

    • 앱 시작, 포그라운드 앱, 백그라운드 앱 trace는 기간 측정항목을 표시합니다.

      대시보드 오른쪽 상단에 있는 옵션을 사용하여 기간 데이터를 집계, 시간 경과 또는 앱의 버전별로 확인합니다.

    • 화면 trace는 느린 렌더링정지된 프레임 측정항목을 표시합니다.

      대시보드 오른쪽 상단에 있는 옵션을 사용하여 측정항목 기준에 속하는 화면의 비율을 집계, 시간 경과 또는 앱의 버전별로 확인합니다.

    대시보드의 왼쪽 상단에 있는 필터add 버튼으로 속성별 데이터에 대한 기본 필터링을 수행합니다.

  4. 측정항목에서 더보기를 클릭하면 수집된 데이터에 대한 심층적인 정보를 검토하고 다양한 분석 기능을 사용할 수 있습니다. 예를 들어 속성별로 데이터를 필터링 및 세분화하고 앱 사용 세션에 대한 데이터를 볼 수 있습니다.

    다음 섹션에서는 심층 trace 보고서에서 사용할 수 있는 기능에 대해 설명합니다.

trace 샘플에 대해 자세히 알아보기

Firebase Console에서 특정 trace 또는 네트워크 요청 세그먼트를 자세히 살펴볼 수 있습니다. 기록된 세션의 무작위 샘플링은 다음 정보를 보여줍니다.

Firebase Performance Monitoring 세션 페이지의 이미지

  • CPU: 앱에서 사용하는 사용자 시간과 시스템 시간입니다.

  • 메모리: 앱에서 사용하는 힙 메모리 사용량입니다. 힙 메모리는 만든 객체, 할당이 취소된 객체, 앱이 현재 사용 중인 객체 등 동적 할당에 사용되는 메모리입니다.

  • 개별 정보: 시작 시간, 종료 시간, 기간, 요청 크기, 응답 크기 등 trace 또는 네트워크 요청의 단일 인스턴스에 대한 자세한 내용입니다.

  • 동시 인스턴스: 동시에 발생하는 추적 또는 네트워크 요청의 정보입니다.

  • 기기 속성: 앱 버전, 모델, OS 버전, 무선, 맞춤 속성 등 기기에 대한 정보입니다.

Firebase Console에서 이러한 상세한 샘플을 보려면 다음 중 원하는 방법을 선택하세요.

  • 앱의 trace 또는 네트워크 요청 중 하나를 연 후 세션 보기를 클릭합니다.

  • 특정 속성의 속성 세션 링크를 클릭합니다.

세션에 대한 링크가 있는 Firebase Performance Monitoring 추적의 이미지

백분위수로 세션 필터링

Performance Monitoring이 수집하는 세션은 측정항목마다 백분위수로 나뉩니다. 백분위수가 낮은 범위의 세션은 백분위수가 높은 범위의 세션보다 측정항목의 값이 작습니다.

세션을 백분위수로 필터링하려면 세션 세부정보 위의 백분위수 드롭다운을 사용하세요.

Firebase Performance Monitoring 세션 페이지의 이미지