시스템 추적은 프로세스에 관한 정보를 시스템 수준에서만 보여주므로, 시스템 이벤트와 관련하여 특정 시간에 앱이나 게임의 어느 메서드가 실행 중인지 인식하기 어려울 때가 있습니다.
Jetpack은 코드의 특정 섹션에 라벨을 지정하는 데 사용할 수 있는 추적 API를 제공합니다. 이 정보는 이후 기기에서 캡처된 트레이스에 보고됩니다. Macrobenchmark 는 맞춤 트레이스 포인트로 트레이스를 자동으로 캡처합니다.
Perfetto를 사용하여 시스템 트레이스를 캡처할 때는 애플리케이션이 profileable로 구성되어 있는지 확인하세요. 이렇게 하면 앱의 맞춤 트레이스 이벤트가 시스템 트레이스 보고서에 표시됩니다.
fun loadAndProcessData() {
trace("loadAndProcessData") {
val data = trace("queryDatabase") {
queryDatabase()
}
trace("processData") {
processData(data)
}
}
}
트레이스 함수 는 람다가 완료되면 트레이스를 자동으로 종료합니다. 이렇게 하면 추적을 종료하는 것을 잊어버릴 위험이 없습니다.
맞춤 트레이스 이벤트에 NDK API를 사용할 수도 있습니다. 네이티브 코드에 이 API를 사용하는 방법을 자세히 알아보려면 네이티브 코드의 맞춤 트레이스 이벤트를 참고하세요.