Firebase Performance Monitoring은 Apple, Android, 웹 앱의 성능 특성을 파악하는 데 도움이 되는 서비스입니다.
Performance Monitoring SDK를 사용하여 앱에서 성능 데이터를 수집하고 Firebase Console에서 데이터를 검토 및 분석합니다. Performance Monitoring을 통해 앱 성능을 개선할 수 있는 부분을 실시간으로 파악하여 성능 문제를 해결할 수 있습니다.
앱에 Performance Monitoring SDK를 통합하면 코드를 작성할 필요 없이 앱 성능을 크게 좌우하는 여러 가지 요소에 대한 모니터링을 시작할 수 있습니다. 네이티브 앱의 경우 SDK는 시작 시간, 화면별 렌더링 데이터, 포그라운드 활동, 백그라운드 활동을 로깅합니다. 웹 앱의 경우 SDK는 콘텐츠가 포함된 첫 페인트, 사용자가 앱과 상호작용하는 기능 등의 요소를 로깅합니다.
앱 성능을 개선할 수 있는 상황 파악
사용자에게 불편을 주는 상황과 이유를 정확히 파악하지 못하면 앱의 성능을 최적화하기가 어려울 수 있습니다. Performance Monitoring을 사용하면 성능 측정항목을 국가, 기기, 앱 버전, OS 수준과 같은 속성에 따라 분류하여 파악할 수 있습니다.
앱 모니터링 맞춤설정
커스텀 코드 trace를 계측하면 새 화면을 로드하거나 새 상호작용 기능을 표시할 때와 같은 특정 상황의 앱 성능을 캡처할 수 있습니다. 또한 이러한 trace를 수집하면서 직접 정의한 이벤트(예: 캐시 적중)를 계수하는 커스텀 측정항목을 커스텀 코드 trace에서 만들 수 있습니다.
앱 성능의 큰 변화 파악
앱을 성공적으로 운영하려면 네트워크 중단과 같은 주요 앱 성능 문제를 파악하고 해결하는 것이 매우 중요합니다. Performance Monitoring을 사용하면 앱의 가장 중요한 부분에 대한 알림을 설정하고 맞춤설정하여 이러한 문제가 사용자에게 영향을 미치기 전에 성능 문제를 발견하고 이에 대응할 수 있습니다.
작동 원리
Performance Monitoring SDK를 추가하면 Firebase에서 자동으로 앱의 여러 일반적인 프로세스에 대한 데이터를 수집하기 시작합니다. 예를 들면 다음과 같습니다.
Performance Monitoring은 trace를 사용하여 이러한 프로세스에 대한 데이터를 수집합니다. trace는 앱에서 두 시점 간에 캡처된 데이터가 포함된 보고서입니다.
각 trace의 수집된 성능 데이터를 측정항목이라고 하며, 이는 trace 유형에 따라 다릅니다. 예를 들어 앱의 인스턴스에서 네트워크 요청을 실행하면 trace는 응답 시간 및 페이로드 크기와 같이 네트워크 요청 모니터링에 중요한 측정항목을 수집합니다.
앱의 인스턴스가 모니터링되는 프로세스를 실행할 때마다 연결된 trace가 해당 앱 인스턴스의 속성 데이터를 자동으로 수집합니다. 예를 들어 Android 앱에서 네트워크 요청을 실행하는 경우 trace는 특정 앱 인스턴스의 기기, 앱 버전, 기타 속성을 수집합니다. 이러한 속성을 사용하여 성능 데이터를 필터링하고 특정 사용자 세그먼트에 문제가 발생했는지 확인할 수 있습니다.
Performance Monitoring의 기본 trace를 사용하면 앱 모니터링을 시작할 수 있지만 특정 작업 또는 흐름의 성능을 알아보려면 앱에서 코드의 자체 커스텀 trace 계측을 시도해 보세요.
구현 경로
앱에 Performance Monitoring SDK 추가
앱에서 사용할 기타 Firebase 제품과 함께 Performance Monitoring SDK를 앱에 추가할 수 있습니다. Apple 플랫폼 | Android | Web | Flutter
Firebase Console에서 사용자가 체감하는 성능 데이터를 모니터링하여 앱 성능을 개선할 수 있는 여지를 구체적으로 파악할 수 있습니다. 성능 데이터를 앱 버전, 국가, 기기, OS와 같은 속성에 따라 분류하여 파악할 수 있습니다.
사용자 데이터
Performance Monitoring은 이름, 이메일 주소, 전화번호 등 개인을 식별하는 정보를 영구적으로 저장하지 않습니다. Performance Monitoring은 HTTP 네트워크 요청을 모니터링할 때 URL 파라미터를 제외한 URL을 사용하여 집계된 익명 URL 패턴을 작성하며 이 패턴이 저장되어 Firebase Console에 표시됩니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-08-04(UTC)"],[],[],null,["Firebase Performance Monitoring \nplat_ios plat_android plat_web plat_flutter \nGain insight into your app's performance issues. \nFirebase Performance Monitoring is a service that helps you to gain insight into the performance characteristics of your Apple, Android, and web apps.\n\n\u003cbr /\u003e\n\nYou use the Performance Monitoring SDK to collect performance data from your app, then\nreview and analyze that data in the Firebase console. Performance Monitoring helps you\nto understand in real time where the performance of your app can be improved so\nthat you can use that information to fix performance issues.\n\n\u003cbr /\u003e\n\nReady to get started? Choose your platform:\n\n[iOS+](/docs/perf-mon/get-started-ios)\n[Android](/docs/perf-mon/get-started-android)\n[Web](/docs/perf-mon/get-started-web)\n[Flutter](/docs/perf-mon/flutter/get-started)\n\nKey capabilities\n\nHow does it work?\n\nWhen you add the Performance Monitoring SDK, Firebase *automatically* starts collecting\ndata for several common processes in your app, for example:\n\nPerformance Monitoring uses ***traces*** to collect data about these processes. A trace is\na report that contains data captured between two points in time in your app.\n\nThe collected performance data for each trace are called ***metrics*** and vary\ndepending on the type of trace. For example, when an instance of your app issues\na network request, the trace collects metrics that are important for network\nrequest monitoring, like response time and payload size.\n\nEach time an instance of your app runs a monitored process, the associated trace\nalso automatically collects ***attributes*** data for that app instance. For\nexample, if an Android app issues a network request, the trace collects the\ndevice, app version, and other attributes for that specific app instance. You\ncan use these attributes to filter your performance data and learn if specific\nuser segments are experiencing issues.\n\nThe out-of-the-box traces from Performance Monitoring get you started with monitoring your\napp, but to learn about the performance of specific tasks or flows, try out\n[instrumenting your own custom traces of code](/docs/perf-mon/custom-code-traces)\nin your app.\n\nImplementation path\n\nUser data\n\nPerformance Monitoring does not permanently store any personally identifiable\ninformation (such as names, email addresses, or phone numbers). While monitoring\nHTTP network requests, Performance Monitoring uses URLs (not including URL parameters)\nto build aggregated and anonymous URL patterns that are eventually persisted\nand shown in the Firebase console.\n\nFor more details, refer to the\n[Examples of information collected by\nPerformance Monitoring](/support/privacy#performance-monitoring-collected-info).\n\nNext steps\n\n- To get started using Performance Monitoring in your app, visit:\n\n - [Get Started with Performance Monitoring for Apple platforms](/docs/perf-mon/get-started-ios)\n - [Get Started with Performance Monitoring for Android](/docs/perf-mon/get-started-android)\n - [Get Started with Performance Monitoring for web](/docs/perf-mon/get-started-web)\n - [Get Started with Performance Monitoring on Flutter](/docs/perf-mon/flutter/get-started)\n- To learn about setting up alerts, see [Set up alerts for performance issues](https://firebase.google.com/docs/perf-mon/alerts)."]]