성능 회귀는 재현하기가 매우 어려워 모바일 개발자에게 큰 병목 현상을 일으킵니다. ANR 비율과 같은 신호는 프로덕션에서 어떤 문제가 발생하는지 나타내지만, 성능 문제를 일으킨 특정 코드 줄을 정확히 찾아내려면 과거에는 철저한 수동 재현 또는 추측에 기반한 시행착오 실험이 필요했습니다.
Datadog은 Android 15 이상 기기에서 사용할 수 있는 ProfilingManager API를 실제 사용자 모니터링(RUM) 및 연속 프로파일링 플랫폼에 통합하여 이러한 불편함을 완화하기 위해 Google과 협력했습니다. 이 통합은 디버깅 워크플로를 혁신하여 개발자가 표면적인 증상을 넘어 성능 병목 현상의 원인을 감지할 수 있도록 지원합니다.
Datadog은 이 시스템 수준 API를 활용하여 2026년 6월 Datadog 내부 데이터에 따라 전 세계에서 매주 수백만 개의 프로덕션 프로필을 처리합니다. 엔지니어링팀에 실제 성능에 대한 새로운 수준의 가시성을 제공하는 동시에 프로덕션 규모의 성능 모니터링을 위한 낮은 런타임 오버헤드를 유지합니다.
ProfilingManager의 영향
ProfilingManager는 Android 15에 도입된 시스템 서비스로, 앱이 프로덕션 환경에서 직접 호출 스택 샘플, 필드 트레이스, 메모리 힙 덤프와 같은 성능 데이터를 프로그래매틱 방식으로 수집할 수 있도록 지원합니다. 이 기능은 엔지니어링 패러다임을 사후 대응적인 수동 재현에서 선제적인 필드 분석으로 전환합니다.
예를 들어 Google 커뮤니케이션 앱은 필드 트레이스를 사용하여 최신 고성능 하드웨어에서 콜드 스타트 시간이 더 느린 이유를 조사했습니다. 엔지니어는 필드에서 수집된 트레이스를 자세히 살펴보고 여러 기기 유형의 트레이스를 비교하여 숨겨진 예약 문제를 발견했습니다. 앱 시작 중에 불필요하게 백그라운드 텍스트 음성 변환 서비스가 미리 워밍업되고 있었습니다. 트레이스에 따르면 이 백그라운드 프로세스가 기기의 최고 성능 빅 CPU 코어를 독점하여 워밍업이 진행되는 동안 앱의 기본 스레드가 절전 모드로 전환되었습니다.
Android 코드 수준 가시성 문제 해결
ProfilingManager를 구현하기 전에는 Datadog의 실제 사용자 모니터링 (RUM)이 사용자 여정을 평가하기 위해 높은 수준의 애플리케이션 상태와 세션 수준 원격 분석에 중점을 두었습니다. 엔지니어링팀은 초기 표시 시간, ANR 비율, CPU 부하, 정지된 프레임과 같은 Android 성능 신호를 모니터링할 수 있었습니다. 이러한 통계는 네트워크 지연 시간, 터치 이벤트, 기본 스레드 정지와 같은 세부적인 상호작용으로 확장되었습니다. 하지만 이 데이터는 필드에서 어떤 성능 병목 현상이 발생하는지 효과적으로 강조했지만 이러한 오류의 근본 원인을 파악할 수 있는 명확한 경로를 제공하지 않았습니다.
이 문제를 해결하기 위해 Datadog은 성능에 미치는 영향을 최소화하면서 프로덕션의 기기에서 직접 Android 트레이스를 캡처할 수 있는 프로파일링 엔진이 필요했습니다. 팀은 Android 디버그 API를 사용하여 자체 트레이스 프로세서를 작성하는 것과 같은 대체 접근 방식을 평가한 후 ProfilingManager를 선택했습니다. ProfilingManager는 평가한 프로파일링 옵션 중에서 가장 성능이 우수한 솔루션이며 샘플링 결정 오버헤드를 OS로 오프로드하기 때문입니다.
ProfilingManager는 CPU 트레이스, 호출 스택 샘플링, Java 힙 덤프 및 네이티브 힙 프로필을 통한 메모리 분석을 비롯한 다양한 수집 방법을 지원합니다. 개발자는 프로덕션 빌드를 프로파일링하고, 트레이스 파일을 외부 저장소에 업로드하고, Perfetto 트레이스 분석기 UI에서 검토할 수 있습니다. SaaS 제공업체인 Datadog은 SDK를 통해 수집된 이러한 프로필을 업로드, 시각화, 분석하여 애플리케이션 상태에 대한 통합된 뷰를 제공합니다.
ProfilingManager는 통합된 관측 가능성 API 내에서 충실도가 높은 원격 분석을 중앙 집중화하여 Datadog과 클라이언트가 다음과 같은 주요 기술적 이점을 통해 복잡한 Android 성능 회귀를 선제적으로 모니터링, 조사, 해결할 수 있도록 지원합니다.
- 세부적인 세션 진단: ProfilingManager는 직접 OS 수준 트레이스 데이터를 제공하여 디버그 가능성을 개선하고 시스템 서비스로 맞춤 로깅의 일반적인 가시성 및 정렬 문제를 해결합니다. 자세히 알아보려면 개발자가 Datadog에서 이러한 트레이스를 다운로드하여 Perfetto UI와 같은 시각화 도구에서 추가로 조사할 수 있습니다.
- 자동화된 원격 분석 트리거: Datadog은 네이티브 시스템 이벤트를 활용하여 주요 최적화 지점에서 트레이스 기록을 시작함으로써 맞춤 수집 로직을 빌드할 필요성을 줄입니다. 초기 출시에서는 APP_FULLY_DRAWN 신호에 중점을 두지만 ANR, OOM, 그리고 COLD_START 트리거를 포함하도록 이 모니터링 가능성을 확장할 계획이 이미 있습니다.
- 선제적인 트레이스 스냅샷: ProfilingManager는 시스템 수준 Perfetto 서비스 (traced)와 직접 상호작용하여 예측할 수 없는 문제를 캡처하도록 설계된 선제적인 백그라운드 기록 모델을 활용합니다. 이를 통해 개발자는 성능 이상으로 이어지는 이벤트를 정확하게 시각화하여 수동 계측을 통해 가능한 수준을 초과하는 통계를 얻을 수 있습니다.
- 대규모 병목 현상 감지: Datadog은 Datadog의 전 세계 고객 기반에서 원격 분석을 종합하여 고유한 하드웨어 구성 및 가변 네트워크 환경에서만 발생하는 회귀를 발견할 수 있습니다.
- 시스템에서 적용하는 리소스 안정성: API는 샘플링 트레이스 수집을 활용하여 성능 및 사용자 환경에 미치는 영향이 눈에 띄지 않도록 합니다.
- 기기 내 데이터 제어: ProfilingManager는 프로필이 앱에 전달되기 전에 기기 내 다른 프로세스의 관련 없는 정보를 필터링합니다. 이렇게 하면 파일 크기가 최소화되고 앱의 프로세스와 관련된 데이터만 제공됩니다.
매주 수백만 개의 프로필을 처리하여 실제 앱 최적화
시스템 수준 프로파일링 API를 전역 모니터링 SDK에 통합하려면 인프라 문제를 해결해야 했습니다. ProfilingManager는 매우 세부적인 성능 트레이스를 생성하므로 Datadog 엔지니어링팀은 서버 측에서 이러한 프로필을 대규모로 파싱하고 분석할 수 있는 파이프라인을 빌드해야 했습니다. 프로필 수집 외에도 Datadog은 샘플링 빈도와 애플리케이션에 관한 유의미한 통계를 생성할 수 있는 충분한 데이터 수집 간의 균형을 맞추는 것이 중요하다고 강조합니다. Datadog은 ProfilingManager의 기본 제공 비율 제한을 중요한 안정성 보호 장치로 사용하여 과도한 원격 분석 요청으로 인해 사용자 기기가 과부하되지 않도록 방지합니다.
팀은 몇 달 동안 Datadog의 자체 네이티브 Android 애플리케이션과 여러 초기 도입자의 애플리케이션을 프로파일링하여 빠르고 오류 없는 출시 환경을 보장하고 성능 감지 알고리즘을 개선하기 위해 수백만 개의 프로필을 수집했습니다. 오늘날 프로덕션 통합은 다양한 Android 기기에서 원활하게 확장됩니다.
결론
Datadog은 Android의 ProfilingManager API를 통합하여 고객을 위한 백엔드 시스템과 모바일 클라이언트 애플리케이션 간의 가시성 격차를 성공적으로 해소했습니다. Datadog은 기기 오버헤드가 미미한 상태에서 매주 수백만 개의 프로필을 처리하여 Android 개발자에게 복잡한 성능 버그를 즉시 진단하는 데 필요한 코드 수준 통계를 제공하므로 개발자가 더 원활한 애플리케이션을 빌드하고 Play 스토어에서 앱의 성능 신호를 개선할 수 있습니다. ProfilingManager API를 성능 모니터링 가능성 프레임워크에 직접 도입하려면 문서를 확인하세요.
향후 Datadog은 Android 프로파일링 데이터를 코딩 에이전트가 성능 병목 현상을 자율적으로 해결할 수 있는 기본 입력으로 만들어 감지 및 해결 간의 의견 교환 루프를 닫는 것을 목표로 합니다. Datadog은 개발자가 Android 프로파일링에 광범위하게 액세스할 수 있도록 노력하고 있습니다.
ProfilingManager로 구동되는 Datadog 실제 사용자 모니터링 기능을 시작하려면 Datadog 모바일 실제 사용자 모니터링을 방문하세요.
계속 읽기
-
우수사례
Karrot은 사용자가 인증된 다른 사용자와 상품을 구매, 판매, 교환할 수 있는 하이퍼로컬 커뮤니티 기반 P2P 마켓플레이스 앱입니다. 2015년 대한민국에서 출시된 이후 이 플랫폼은 전 세계 시장으로 확장되어 4,300만 명이 넘는 등록 사용자를 확보했습니다.
Thomas Ezan, Tracy Agyemang • 전문 길이: 2분
-
방법
앱 성능은 종종 원활한 UI와 빠른 시작 시간과 동일시되지만 메모리는 이러한 표시되는 측정항목이 빌드되는 조용한 기반 역할을 합니다. 기기 메모리가 그 어느 때보다 중요해지는 변화가 일어나고 있다는 것은 비밀이 아닙니다.
-
2026년 5월 15일2026년 5월 15일
우수사례
FotMob은 최근 5년 동안 설치된 잠재고객 중에서 Wear OS에서 하루 동안 가장 큰 증가를 경험했습니다. 일일 평균의 2~3배였습니다. 비결은 무엇일까요? 사용자가 휴대전화에서 직접 Wear OS 앱을 검색할 수 있도록 지원하는 간단한 교차 기기 설치 흐름입니다.
Garan Jenkin • 전문 길이: 3분
소식 받아보기
Android 개발 관련 최신 정보를 이메일로 받아 보세요. 매주