Метрики

Отслеживайте и сообщайте о различных показателях времени выполнения вашего приложения.
Последнее обновление Стабильный выпуск Кандидат на выпуск Бета-версия Альфа-релиз
10 января 2024 г. - - 1.0.0-бета01 -

Объявление зависимостей

Чтобы добавить зависимость от Metrics, необходимо добавить в свой проект репозиторий Google Maven. Для получения дополнительной информации прочтите репозиторий Google Maven .

Добавьте зависимости для нужных вам артефактов в файл build.gradle для вашего приложения или модуля:

классный

dependencies {
    implementation "androidx.metrics:metrics-performance:1.0.0-beta01"
}

Котлин

dependencies {
    implementation("androidx.metrics:metrics-performance:1.0.0-beta01")
}

Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .

Обратная связь

Ваши отзывы помогают сделать Jetpack лучше. Дайте нам знать, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.

Создать новую задачу

Дополнительную информацию см . в документации по системе отслеживания проблем .

Версия 1.0.0

Версия 1.0.0-бета01

10 января 2024 г.

API и функциональность этой библиотеки уже некоторое время стабильны. Этот выпуск просто переводит библиотеку в бета-версию.

Выпущен androidx.metrics:metrics-performance:1.0.0-beta01 . Версия 1.0.0-beta01 содержит эти коммиты.

Версия 1.0.0-альфа04

5 апреля 2023 г.

В этом выпуске JankStats обновляются до последних исправлений, которые включают более точную и полную информацию о времени.

Выпущен androidx.metrics:metrics-performance:1.0.0-alpha04 . Версия 1.0.0-alpha04 содержит эти коммиты.

Изменения API

  • cpuDuration теперь более точный, а также новый totalDuration на API31 ( I59ce8 , b/243694893 )

Версия 1.0.0-альфа03

27 июля 2022 г.

Выпущен androidx.metrics:metrics-performance:1.0.0-alpha03 . Версия 1.0.0-alpha03 содержит эти коммиты.

  • Этот выпуск содержит незначительные улучшения API, поскольку библиотека приближается к стадии бета-тестирования. Одно из изменений API удаляет Executor из фабричного метода createAndTrack() для создания объекта JankStats . Это имеет последствия для обратного вызова OnFrameListener , поскольку этот прослушиватель теперь вызывается в потоке, который доставляет данные по кадрам в JankStats (поток Main/UI в версиях, предшествующих API 24, и поток FrameMetrics в API 24+). Более того, объект FrameData передаваемый прослушивателю, теперь повторно используется в каждом кадре, поэтому данные из этого объекта необходимо копировать и кэшировать в другом месте во время обратного вызова, поскольку этот объект должен считаться устаревшим, как только прослушиватель вернется.

  • Также были исправлены различные ошибки, в том числе некоторые проблемы с параллелизмом.

  • Наконец, исправление повторного использования FrameData (упомянутое выше) означает, что теперь на каждый кадр выделяется нулевое количество ресурсов из-за доставки метрик кадра. Раньше было не так много выделений, но новый подход означает, что вы можете использовать JankStats без каких-либо накладных расходов на покадровый сбор мусора в вашем приложении.

Изменения API

  • Обновлены имена методов и параметров в PerformanceMetricsState чтобы сделать результаты этих вызовов более понятными. ( И56да5 , б/233421985 )
  • Добавлены тесты производительности для отслеживания распределений, устранены некоторые внутренние распределения, связанные с управлением состоянием и отчетностью. Обратите внимание, что FrameData передаваемый прослушивателям, теперь считается изменчивым; эта структура будет повторно использоваться для следующего кадра, и данные будут надежными только до тех пор, пока прослушиватель не вернется.
  • Удален Executor из конструктора JankStats ; прослушиватели теперь вызываются в любом потоке, в котором были получены внутренние данные. ( I12743 )

Исправления ошибок

  • Исправлен сбой из-за двойного удаления OnFrameMetricsAvailableListener ( I44094 , b/239457413 ).
  • Вернитесь к исходной логике публикации сообщений OnPreDrawListener в начале очереди для более согласованной и предсказуемой синхронизации кадров. ( I05a43 , б/233358407 )
  • Исправлена ​​ошибка ConcurrentModificationException , из-за которой список делегатов прослушивателя изменялся во время его повторения для отправки покадровых данных. ( Ib7693 , б/236612357 )

Версия 1.0.0-альфа02

29 июня 2022 г.

Выпущен androidx.metrics:metrics-performance:1.0.0-alpha02 . Версия 1.0.0-alpha02 содержит эти коммиты.

Изменения API

Исправления ошибок

  • Исправлена ​​проблема с синхронизацией, из-за которой состояния могли быть заменены новыми значениями до обработки кадров, где старое состояние было бы правильным ( aosp/2061892 , b/213499234 ).
  • Исправлено исключение одновременной модификации при добавлении/удалении прослушивателей ( aosp/2092714 , b/213499234 )
  • Сделаны вычисления startTime более точными ( aosp/2027704 , b/213245198 )
  • Исправлена ​​ошибка в реализации FrameData.equals() ( aosp/2025866 , b/218296544 ).

Версия 1.0.0-альфа01

9 февраля 2022 г.

Выпущен androidx.metrics:metrics-performance:1.0.0-alpha01 . Версия 1.0.0-alpha01 содержит эти коммиты.

Новые возможности

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

Метрики

Отслеживайте и сообщайте о различных показателях времени выполнения вашего приложения.
Последнее обновление Стабильный выпуск Кандидат на выпуск Бета-версия Альфа-релиз
10 января 2024 г. - - 1.0.0-бета01 -

Объявление зависимостей

Чтобы добавить зависимость от Metrics, необходимо добавить в свой проект репозиторий Google Maven. Для получения дополнительной информации прочтите репозиторий Google Maven .

Добавьте зависимости для нужных вам артефактов в файл build.gradle для вашего приложения или модуля:

классный

dependencies {
    implementation "androidx.metrics:metrics-performance:1.0.0-beta01"
}

Котлин

dependencies {
    implementation("androidx.metrics:metrics-performance:1.0.0-beta01")
}

Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .

Обратная связь

Ваши отзывы помогают сделать Jetpack лучше. Дайте нам знать, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.

Создать новую задачу

Дополнительную информацию см . в документации по системе отслеживания проблем .

Версия 1.0.0

Версия 1.0.0-бета01

10 января 2024 г.

API и функциональность этой библиотеки уже некоторое время стабильны. Этот выпуск просто переводит библиотеку в бета-версию.

Выпущен androidx.metrics:metrics-performance:1.0.0-beta01 . Версия 1.0.0-beta01 содержит эти коммиты.

Версия 1.0.0-альфа04

5 апреля 2023 г.

В этом выпуске JankStats обновляются до последних исправлений, которые включают более точную и полную информацию о времени.

Выпущен androidx.metrics:metrics-performance:1.0.0-alpha04 . Версия 1.0.0-alpha04 содержит эти коммиты.

Изменения API

  • cpuDuration теперь более точный, а также новый totalDuration на API31 ( I59ce8 , b/243694893 )

Версия 1.0.0-альфа03

27 июля 2022 г.

Выпущен androidx.metrics:metrics-performance:1.0.0-alpha03 . Версия 1.0.0-alpha03 содержит эти коммиты.

  • Этот выпуск содержит незначительные улучшения API, поскольку библиотека приближается к стадии бета-тестирования. Одно из изменений API удаляет Executor из фабричного метода createAndTrack() для создания объекта JankStats . Это имеет последствия для обратного вызова OnFrameListener , поскольку этот прослушиватель теперь вызывается в потоке, который доставляет данные по кадрам в JankStats (поток Main/UI в версиях, предшествующих API 24, и поток FrameMetrics в API 24+). Более того, объект FrameData передаваемый прослушивателю, теперь повторно используется в каждом кадре, поэтому данные из этого объекта необходимо копировать и кэшировать в другом месте во время обратного вызова, поскольку этот объект должен считаться устаревшим, как только прослушиватель вернется.

  • Также были исправлены различные ошибки, в том числе некоторые проблемы с параллелизмом.

  • Наконец, исправление повторного использования FrameData (упомянутое выше) означает, что теперь на каждый кадр выделяется нулевое количество ресурсов из-за доставки метрик кадра. Раньше было не так много выделений, но новый подход означает, что вы можете использовать JankStats без каких-либо накладных расходов на покадровый сбор мусора в вашем приложении.

Изменения API

  • Обновлены имена методов и параметров в PerformanceMetricsState чтобы сделать результаты этих вызовов более понятными. ( I56da5 , б/233421985 )
  • Добавлены тесты производительности для отслеживания распределений, устранены некоторые внутренние распределения, связанные с управлением состоянием и отчетностью. Обратите внимание, что FrameData передаваемый слушателям, теперь считается изменчивым; эта структура будет повторно использоваться для следующего кадра, и данные будут надежными только до тех пор, пока прослушиватель не вернется.
  • Удален Executor из конструктора JankStats ; прослушиватели теперь вызываются в любом потоке, в котором были получены внутренние данные. ( I12743 )

Исправления ошибок

  • Исправлен сбой из-за двойного удаления OnFrameMetricsAvailableListener ( I44094 , b/239457413 ).
  • Вернитесь к исходной логике публикации сообщений OnPreDrawListener в начале очереди для более согласованной и предсказуемой синхронизации кадров. ( I05a43 , б / 233358407 )
  • Исправлена ​​ошибка ConcurrentModificationException , из-за которой список делегатов прослушивателя изменялся во время его повторения для отправки покадровых данных. ( Ib7693 , б/236612357 )

Версия 1.0.0-альфа02

29 июня 2022 г.

Выпущен androidx.metrics:metrics-performance:1.0.0-alpha02 . Версия 1.0.0-alpha02 содержит эти коммиты.

Изменения API

Исправления ошибок

  • Исправлена ​​проблема с синхронизацией, из-за которой состояния могли быть заменены новыми значениями до обработки кадров, где старое состояние было бы правильным ( aosp/2061892 , b/213499234 ).
  • Исправлено исключение одновременной модификации при добавлении/удалении прослушивателей ( aosp/2092714 , b/213499234 )
  • Сделаны расчеты startTime более точными ( aosp/2027704 , b/213245198 )
  • Исправлена ​​ошибка в реализации FrameData.equals() ( aosp/2025866 , b/218296544 ).

Версия 1.0.0-альфа01

9 февраля 2022 г.

Выпущен androidx.metrics:metrics-performance:1.0.0-alpha01 . Версия 1.0.0-alpha01 содержит эти коммиты.

Новые возможности

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

Метрики

Отслеживайте и сообщайте о различных показателях времени выполнения вашего приложения.
Последнее обновление Стабильный выпуск Кандидат на выпуск Бета-версия Альфа-релиз
10 января 2024 г. - - 1.0.0-бета01 -

Объявление зависимостей

Чтобы добавить зависимость от Metrics, необходимо добавить в свой проект репозиторий Google Maven. Для получения дополнительной информации прочтите репозиторий Google Maven .

Добавьте зависимости для нужных вам артефактов в файл build.gradle для вашего приложения или модуля:

классный

dependencies {
    implementation "androidx.metrics:metrics-performance:1.0.0-beta01"
}

Котлин

dependencies {
    implementation("androidx.metrics:metrics-performance:1.0.0-beta01")
}

Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .

Обратная связь

Ваши отзывы помогают сделать Jetpack лучше. Дайте нам знать, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.

Создать новую задачу

Дополнительную информацию см . в документации по системе отслеживания проблем .

Версия 1.0.0

Версия 1.0.0-бета01

10 января 2024 г.

API и функциональность этой библиотеки уже некоторое время стабильны. Этот выпуск просто переводит библиотеку в бета-версию.

Выпущен androidx.metrics:metrics-performance:1.0.0-beta01 . Версия 1.0.0-beta01 содержит эти коммиты.

Версия 1.0.0-альфа04

5 апреля 2023 г.

В этом выпуске JankStats обновляются до последних исправлений, которые включают более точную и полную информацию о времени.

Выпущен androidx.metrics:metrics-performance:1.0.0-alpha04 . Версия 1.0.0-alpha04 содержит эти коммиты.

Изменения API

  • cpuDuration теперь более точный, а также новый totalDuration на API31 ( I59ce8 , b/243694893 )

Версия 1.0.0-альфа03

27 июля 2022 г.

Выпущен androidx.metrics:metrics-performance:1.0.0-alpha03 . Версия 1.0.0-alpha03 содержит эти коммиты.

  • Этот выпуск содержит незначительные улучшения API, поскольку библиотека приближается к стадии бета-тестирования. Одно из изменений API удаляет Executor из фабричного метода createAndTrack() для создания объекта JankStats . Это имеет последствия для обратного вызова OnFrameListener , поскольку этот прослушиватель теперь вызывается в потоке, который доставляет данные по кадрам в JankStats (поток Main/UI в версиях, предшествующих API 24, и поток FrameMetrics в API 24+). Более того, объект FrameData передаваемый прослушивателю, теперь повторно используется в каждом кадре, поэтому данные из этого объекта необходимо копировать и кэшировать в другом месте во время обратного вызова, поскольку этот объект должен считаться устаревшим, как только прослушиватель вернется.

  • Также были исправлены различные ошибки, в том числе некоторые проблемы с параллелизмом.

  • Наконец, исправление повторного использования FrameData (упомянутое выше) означает, что теперь на каждый кадр выделяется нулевое количество ресурсов из-за доставки метрик кадра. Раньше было не так много выделений, но новый подход означает, что вы можете использовать JankStats без каких-либо накладных расходов на покадровый сбор мусора в вашем приложении.

Изменения API

  • Обновлены имена методов и параметров в PerformanceMetricsState чтобы сделать результаты этих вызовов более понятными. ( I56da5 , б/233421985 )
  • Добавлены тесты производительности для отслеживания распределений, устранены некоторые внутренние распределения, связанные с управлением состоянием и отчетностью. Обратите внимание, что FrameData передаваемый слушателям, теперь считается изменчивым; эта структура будет повторно использоваться для следующего кадра, и данные будут надежными только до тех пор, пока прослушиватель не вернется.
  • Удален Executor из конструктора JankStats ; прослушиватели теперь вызываются в любом потоке, в котором были получены внутренние данные. ( I12743 )

Исправления ошибок

  • Исправлен сбой из-за двойного удаления OnFrameMetricsAvailableListener ( I44094 , b/239457413 ).
  • Вернитесь к исходной логике публикации сообщений OnPreDrawListener в начале очереди для более согласованной и предсказуемой синхронизации кадров. ( I05a43 , б / 233358407 )
  • Исправлена ​​ошибка ConcurrentModificationException , из-за которой список делегатов прослушивателя изменялся во время его повторения для отправки покадровых данных. ( Ib7693 , б/236612357 )

Версия 1.0.0-альфа02

29 июня 2022 г.

Выпущен androidx.metrics:metrics-performance:1.0.0-alpha02 . Версия 1.0.0-alpha02 содержит эти коммиты.

Изменения API

Исправления ошибок

  • Исправлена ​​проблема с синхронизацией, из-за которой состояния могли быть заменены новыми значениями до обработки кадров, где старое состояние было бы правильным ( aosp/2061892 , b/213499234 ).
  • Исправлено исключение одновременной модификации при добавлении/удалении прослушивателей ( aosp/2092714 , b/213499234 )
  • Сделаны вычисления startTime более точными ( aosp/2027704 , b/213245198 )
  • Исправлена ​​ошибка в реализации FrameData.equals() ( aosp/2025866 , b/218296544 ).

Версия 1.0.0-альфа01

9 февраля 2022 г.

Выпущен androidx.metrics:metrics-performance:1.0.0-alpha01 . Версия 1.0.0-alpha01 содержит эти коммиты.

Новые возможности

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