프로파일링

프로파일링 모듈은 Android 16에서 도입되었으며 앱이 현장의 공개 기기에서 Perfetto를 사용하여 프로파일링 데이터를 수집할 수 있습니다.

  • 앱은 Java 힙 덤프나 힙 프로필, 스택 샘플링, 시스템 트레이스를 사용하여 프로파일링을 요청하고 각각에 대한 일부 구성을 설정할 수 있습니다.
  • 앱은 특정 이벤트의 트레이스를 수신하는 데 관심을 등록할 수 있고 시스템은 앱의 트레이스를 시작하거나 중지할 수 있습니다.
  • 결과는 요청 프로세스와 관련된 정보만 포함하도록 수정되며 앱에서 추가로 처리할 수 있도록 앱의 저장소 디렉터리에 전송됩니다.
  • 요청은 비율 제한이 적용되며 채워진다는 보장은 없습니다.

모듈 경계

  • 프로파일링 Mainline APEX - com.google.android.profiling:
    • 프로파일링 API 노출 영역(Java):
      • 코드 위치: packages/modules/Profiling/framework
      • 프로세스: boot_class_path
    • ProfilingService(Java):
      • 코드 위치: packages/modules/Profiling/service
      • 프로세스: system_server

패키지 형식

프로파일링 모듈은 APEX 패키지 (com.google.android.profiling)로 제공됩니다. 모듈에는 두 개의 JAR 파일이 포함됩니다.

  • framework-profiling.jar: 호출자가 상호작용하는 API 노출 영역을 포함합니다. 이는 bootclasspath의 일부입니다.
  • service-profiling.jar: 새 시스템 서비스인 ProfilingService를 포함합니다. 시스템 서버 프로세스에 의해 로드됩니다.

종속 항목

이 모듈에는 외부 종속 항목이 없습니다.