系統追蹤只會顯示系統層級程序的相關資訊,因此有時很難知道在系統事件相關的特定時間,執行的是哪個應用程式或遊戲的方法。
Jetpack 提供追蹤 API,可用來為特定程式碼區段加上標籤。這項資訊會記錄在從裝置擷取的追蹤記錄中,而 Macrobenchmark 會自動使用自訂追蹤點擷取追蹤記錄。
使用 Perfetto 擷取系統追蹤記錄時,請務必將應用程式設定為 profileable。這樣一來,應用程式的自訂追蹤事件就會顯示在系統追蹤報表中。
fun loadAndProcessData() {
trace("loadAndProcessData") {
val data = trace("queryDatabase") {
queryDatabase()
}
trace("processData") {
processData(data)
}
}
}
當 lambda 執行完成時,追蹤函式會自動結束追蹤記錄。此做法可以排除忘記結束追蹤記錄的風險。
您也可以將 NDK API 用於自訂追蹤記錄事件。如要瞭解如何在原生程式碼中使用這個 API,請參閱「原生程式碼中的自訂追蹤記錄事件」。