Определите пользовательские события

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

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

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

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

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

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

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

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

{% verbatim %} {% endverbatim %} {% verbatim %} {% endverbatim %}