프로파일링 모듈은 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
- 코드 위치:
- 프로파일링 API 노출 영역(Java):
패키지 형식
프로파일링 모듈은 APEX 패키지 (com.google.android.profiling
)로 제공됩니다. 모듈에는 두 개의 JAR 파일이 포함됩니다.
framework-profiling.jar
: 호출자가 상호작용하는 API 노출 영역을 포함합니다. 이는 bootclasspath의 일부입니다.service-profiling.jar
: 새 시스템 서비스인ProfilingService
를 포함합니다. 시스템 서버 프로세스에 의해 로드됩니다.
종속 항목
이 모듈에는 외부 종속 항목이 없습니다.