Как задавать специальные события

Трассировка системы показывает информацию о процессах только на системном уровне, поэтому иногда трудно понять, какие методы приложения или игры выполняются в определенное время относительно системных событий.

Jetpack предоставляет API трассировки, который можно использовать для маркировки определенного раздела кода. Эта информация затем включается в трассировки, полученные на устройстве. Macrobenchmark автоматически записывает трассировки с настраиваемыми точками трассировки.

Если вы используете Perfetto для трассировки системы, убедитесь, что в приложении задан параметр profileable. Таким образом, события пользовательской трассировки вашего приложения появятся в отчете о трассировке системы.

fun loadAndProcessData() {
    trace("loadAndProcessData") {
        val data = trace("queryDatabase") {
            queryDatabase()
        }
        trace("processData") {
            processData(data)
        }
    }
}

Функция трассировки автоматически завершает трассировку, когда лямбда-функция завершает работу. Это устраняет риск забыть закончить трассировку.

Для специальных событий трассировки также можно использовать NDK API. Подробнее о том, как использовать этот API для нативного кода…

Дополнительные ресурсы

Просмотр контента