Отслеживание
| Последнее обновление | Стабильный релиз | Предварительная версия для выпуска | Бета-версия | Альфа-версия |
|---|---|---|---|---|
| 12 августа 2026 г. | 2.0.0 | - | - | - |
Обратная связь
Ваши отзывы помогают улучшить Jetpack. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав кнопку со звездочкой.
Для получения более подробной информации см. документацию по системе отслеживания ошибок .
Отслеживание
Версия 2.0
Версия 2.0.0
12 августа 2026 г.
Выпущена версия androidx.tracing:tracing-*:2.0.0 . Версия 2.0.0 содержит следующие коммиты .
Основные особенности версии 2.0.0:
Новый API для работы в рамках процесса позволяет:
- Запись содержимого трассировки в процессе работы, непосредственно на объекте.
- Поток перфетто (стрелки от одного среза к другому)
- Аннотации Perfetto (метаданные срезов ключ/значение)
-
traceCoroutine() {}- API трассировки сопрограмм, отслеживающий переключения потоков. - Фильтрация по категориям
- Значительно меньшие накладные расходы по сравнению с существующим API
android.os.Traceиtrace() {} - Трассировка KMP — может использоваться для библиотек, не зависящих от Android, а также для проектов на хост-машине JVM.
- Постфактумное объединение с записью трассировки системы (реализовано по умолчанию в AndroidX Benchmark 1.5)
Обратите внимание, что новые API трассировки записывают данные в буфер, управляемый процессом, который пока не используется системой трассировки Studio. Эта проблема будет решена в профилировщиках Studio в одном из следующих релизов.
Существующие API-функции android.os.Trace / trace() {} не устарели. Эти API-функции по-прежнему рекомендуются для событий с низкой частотой, которые всегда должны записываться в системный буфер трассировки, особенно в библиотеках.
Версия 2.0.0-rc01
29 июля 2026 г.
Выпущена версия androidx.tracing:tracing-*:2.0.0-rc01 . Версия 2.0.0-rc01 содержит следующие коммиты .
Версия 2.0.0-beta01
15 июля 2026 г.
Выпущена версия androidx.tracing:tracing-*:2.0.0-beta01 . Версия 2.0.0-beta01 содержит следующие коммиты .
Изменения в API
- Теперь
PerfettoCaptureиPerfettoTraceRuleмогут захватывать трассировки внутри процесса и объединять их для целевого пакета. ( I9a00b , b/497959820 ) -
androidx.benchmarkтеперь используетсяminSdk24 ( IC2A85 ).
Исправлены ошибки
- Трассировка выпуска 2.0-beta01. ( I1b162 )
- При генерации информации о дорожках используйте идентификаторы потоков, специфичные для платформы. ( I6ba64 )
Версия 2.0.0-alpha09
23 июня 2026 г.
Выпущена версия androidx.tracing:tracing-*:2.0.0-alpha09 . Версия 2.0.0-alpha09 содержит следующие коммиты .
Изменения в API
- Незначительное изменение API в
Tracerдля различенияinstant(...)иwriteInstant(...). ( I0935a ) - Добавить поддержку токенов распространения в мгновенных событиях. ( I99f81 )
- Разрешить полное использование потоков Perfetto в экспериментальном API для ручного распространения контекста. ( I20cb6 )
- Отложить создание
BufferedSinkиProtoWriterвTraceSink. ( Ibd098 ) - Сделайте обнаружение
Tracerпростым и совместимым с библиотеками Java и Android. ( I99111 ) - Упростите разработчикам библиотек поиск экземпляра
TraceDriver, который можно использовать для трассировки внутри процесса. ( Ia503e )
Версия 2.0.0-alpha08
19 мая 2026 г.
Выпущена версия androidx.tracing:tracing-*:2.0.0-alpha08 . Версия 2.0.0-alpha08 содержит следующие коммиты .
Изменения в API
- Добавить возможность обнаружения и переопределения экземпляров
TraceDriverдля использования в рамках всего процесса. ( I3f715 ) - Переименовать
Tracer.recordExceptionвTracer.recordExceptionAndThrow. ( I4411f , b/503092450 )
Версия 2.0.0-alpha07
6 мая 2026 г.
Выпущена версия androidx.tracing:tracing-*:2.0.0-alpha07 . Версия 2.0.0-alpha07 содержит следующие коммиты .
Изменения в API
- Добавить API для получения заглушки трассировщика, которую можно использовать, когда трассировка отключена. ( I84c98 )
- Обеспечьте согласованность жизненного цикла трассировки с системной трассировкой. ( Ib391b )
- API счетчиков теперь полностью не требуют выделения памяти. ( I5e73a )
Исправлены ошибки
- Исправлено правило сохранения для SDK Perfetto (
tracing-perfetto), которое гарантирует возможность включения SDK Perfetto. ( I1d227 ) - Добавить возможность отслеживания событий
flush(). ( I38014 , b/495852704 )
Версия 2.0.0-alpha06
22 апреля 2026 г.
Выпущена версия androidx.tracing:tracing-*:2.0.0-alpha06 . Версия 2.0.0-alpha06 содержит следующие коммиты .
Изменения в API
- Снимите ограничения
File.createPerfettoFile()чтобы другие могли безопасно создавать приемники. Когдаblock()генерирует исключение вtrace/traceCoroutineсоздайтеinstantсобытие для исключения с метаданными, представляющими соответствующие элементы трассировки стека. ( I682e5 , b/501536851 , b/437166283 ) - Добавить перегрузку функции
setCounter(...), принимающую тип JavaLong. ( Ic0469 , b/356082604 ) - В версии 2.0 для идентификаторов
Threadспецифичных для платформы, используетсяLong. ( I67277 )
Исправлены ошибки
- Улучшить документацию для
AttributeEntry.reset(). ( I5d3a1 , b/496079439 )
Версия 2.0.0-alpha05
8 апреля 2026 г.
Выпущена версия androidx.tracing:tracing-*:2.0.0-alpha05 . Версия 2.0.0-alpha05 содержит следующие коммиты .
Изменения в API
- Функции фабрики
TraceSinkтеперь возвращаютTraceSink, а неAbstractTraceSink. Файлы теперь имеют уникальный суффикс. Мы гарантируем возможность атомарного создания нового файла, который будет использоваться для хранения пакетов трассировки. ( I4c4aa , b/496298726 ) - Упростите и ускорьте распространение контекста сопрограмм. ( Ia62db )
- Ввести необязательные
attributes()при создании объектаTraceDriver, которые позволяют добавлять метаданные, относящиеся к трассировке. ( Ia147e )
Исправлены ошибки
- Теперь потоки обработки и счетчики отслеживаются синхронно. Это исправляет исключения вида:
java.lang.NullPointerException: Cannot invoke "androidx.tracing.ThreadTrack.flush$tracing()" because "threadTrack" is null - Избегайте отправки событий от приемника, если трассировка отключена.
Версия 2.0.0-alpha04
25 марта 2026 г.
Выпущена версия androidx.tracing:tracing-*:2.0.0-alpha04 . Версия 2.0.0-alpha04 содержит следующие коммиты .
Изменения в API
- Сделайте
AbstractTraceDriverдействительно абстрактным и перенесите реализациюPerfettoв модульtracing-wire. ( IE2F59 ) - Присвойте базовым реализациям более описательные имена, чтобы избежать использования неправильной. Разработчикам, ранее расширявшим
androidx.tracing.Trace{Sink|Driver}теперь потребуется перейти на использованиеAbstractTrace{Sink|Driver}. ( I9b46d )
Версия 2.0.0-alpha03
11 марта 2026 г.
Выпущена версия androidx.tracing:tracing-*:2.0.0-alpha03 . Версия 2.0.0-alpha03 содержит следующие коммиты .
Изменения в API
- Добавлена экспериментальная реализация
InMemoryRingBufferTraceSink, которая позволяет устанавливать ограничение по емкости и предотвращает запись на диск, если это явно не запрошено. ( I1dc44 , b/484409653 , I65a37 , b/484409653 ) - Исправлена ошибка состояния гонки при генерации событий трассировки для приостановки и возобновления работы сопрограмм. ( IE145e )
Исправлены ошибки
-
androidx.tracingпо умолчанию больше не предпринимается попыток установить связи между родительскими и дочерними сопрограммами в трассировках. Это вызывало путаницу, поскольку базовый формат трассировки не поддерживает связи1:NиN:1, что приводило к образованию множества стрелок из-за неоднозначности в определении того, какой фрагмент сопрограммы к чему подключается. Вы по-прежнему можете вручную включить распространение с помощью APItokenForManualPropagation()если это важно для вашего случая. ( Ib2cf9 )
Версия 2.0.0-alpha02
25 февраля 2026 г.
Выпущена версия androidx.tracing:tracing-*:2.0.0-alpha02 . Версия 2.0.0-alpha02 содержит следующие коммиты .
Новые функции
- Улучшена производительность реализации Perfetto Trace Sink за счет использования встроенной функции
suspendCoroutineUninterceptedOrReturn( 2ea97b ).
Версия 2.0.0-alpha01
28 января 2026 г.
Выпущена версия androidx.tracing:tracing-*:2.0.0-alpha01 . Версия 2.0.0-alpha01 содержит следующие коммиты .
Новые функции
AndroidX Tracing 2.0 представляет собой значительно расширенный API-интерфейс для трассировки с низкими накладными расходами внутри процесса, дополняющий существующие API на основе android.os.Tracing в Tracing 1.0. Новые API доступны как в Android, так и в хост-JVM, что позволяет хост-инструментам генерировать трассировки с низкими накладными расходами для анализа производительности, используя тот же стандартный формат трассировки Perfetto.
Трассировка стека поддерживается как Android Studio, так и Perfetto, и может быть записана с расширенным набором функций, включая пометку фрагментов метаданными (например, аргументами функций!) и распространение трассировки контекста сопрограмм.
Эта первоначальная альфа-версия предназначена только для рабочих процессов трассировки в процессе выполнения и пока не интегрируется с трассировкой ОС Android или системной трассировкой Studio Profiler — эти функции будут добавлены в будущей альфа-версии.
/**
* A [TraceSink] defines how traces are serialized.
*
* [androidx.tracing.wire.TraceSink] uses the `Perfetto` trace packet format.
*/
fun createSink(): TraceSink {
val outputDirectory = File(/* pathname = */ "/tmp/perfetto")
// We are using the factory function defined in androidx.tracing.wire
return TraceSink(
sequenceId = 1,
directory = outputDirectory
)
}
/**
* Creates a new instance of [androidx.tracing.TraceDriver].
*/
fun createTraceDriver(): TraceDriver {
// We are using a factory function from androidx.tracing.wire here.
// `isEnabled` controls whether tracing is enabled for the application.
val driver = TraceDriver(sink = createSink(), isEnabled = true)
return driver
}
fun main() {
val driver = createTraceDriver()
driver.use {
driver.tracer.trace(category = CATEGORY_MAIN, name = "basic") {
Thread.sleep(100L)
}
}
}
Изменения в API
- Сделайте
TracerсвойствомTraceDriver. ( Iabd9b ) - Добавлена поддержка ручного распространения контекста. ( I899ff )
- Добавить возможность добавления информации о стеке вызовов в раздел трассировки. ( If6a1b )
- Представляем новые API
androidx.tracing. ( I5102b ) - Разрешить мгновенным событиям содержать метаданные и добавить счетчики к мгновенным событиям и счетчикам. ( Ia2ed3 )
- Уменьшите площадь поверхности API, аннотированного
@DelicateTracingApi. Ничто в API верхнего уровня не должно требовать использования@DelicateTracingApi. ( I565e0 ) - Упростите распространение контекста, объединив
PropagationToken( Iab839 ). - Стабилизация API
BlackHoleвandroidx.benchmark( I2b67e , b/451749438 ) - Добавить возможность аннотирования участка трассировки в качестве корневого сегмента. ( Ic8365 )
- Разрешите разработчику явно указывать токены распространения. ( I06bb1 )
- Переименована
MetadataHandleCloseableвEventMetadataCloseable, аMetadataHandleвEventMetadata. Также добавлен необязательный аргументCoroutinePropagationTokenдляTracer.traceCoroutine, позволяющий разработчику явно указать используемый токен распространения. ( I219f7 , b/454147392 ) - Введена новая точка входа
Tracer, которая предоставляет разработчикам гораздо больше контроля над процессом трассировки. ( I24a7b ) - Добавить возможность управлять распространением контекста в
SliceTrack. ( Ieb8fc ) -
fillCountвPooledTracePacketArrayтеперь корректно помечено как volatile. ( I75d2c ) - Mark
MetadataEntry@DelicateTracingApi. ( I8c723 ) - Добавить возможность обработки событий потери трассировки
TraceSink(когда пул исчерпан). ( I3b374 ) - Добавить возможность условной генерации событий трассировки на основе предиката. ( I621b4 )
- Добавить возможность добавления категорий к событию трассировки. ( I449c2 )
- Mark
TraceEvent,PooledTracePacketArrayasDelicateTracingApi. ( Iaac6d ) - Сделайте поля
ProcessTrack.id,ThreadTrack.id,ThreadTrack.name,CounterTrack.nameиCounterTrack.parentобщедоступными. ( I81210 ) - API
SliceTrack.traceFlow()переименован вtraceCoroutine(). ( I79ad0 ) - Добавить возможность добавления контекстной информации к фрагментам с помощью отладочных аннотаций в трассировке Perfetto. ( Ic2b56 )
- Предоставьте возможность создания экземпляра
WireTraceSinkс использованиемFile/OutputStream. ( Iecea0 ) - Удаление устаревших аннотаций
@RequiresApi(21)( Ic4792 )
Версия 1.3
Версия 1.3.0
23 апреля 2025 г.
Выпущены androidx.tracing:tracing:1.3.0 , androidx.tracing:tracing-android:1.3.0 и androidx.tracing:tracing-ktx:1.3.0 . Версия 1.3.0 содержит следующие коммиты .
Важные изменения по сравнению с версией 1.2.0
- Преобразовал класс
androidx.tracing.Traceв Kotlin и перенёс весь код из модуляtracing-ktxвtracing. - Удалите crossinline из трассировки, чтобы разрешить использование в
@Composable. ( I53882 , b/248344805 )
Версия 1.3.0-rc01
9 апреля 2025 г.
Выпущены androidx.tracing:tracing:1.3.0-rc01 , androidx.tracing:tracing-android:1.3.0-rc01 и androidx.tracing:tracing-ktx:1.3.0-rc01 без изменений по сравнению с последней бета-версией. Версия 1.3.0-rc01 содержит следующие коммиты .
Версия 1.3.0-beta01
12 февраля 2025 г.
Выпущены androidx.tracing:tracing:1.3.0-beta01 , androidx.tracing:tracing-android:1.3.0-beta01 и androidx.tracing:tracing-ktx:1.3.0-beta01 . Версия 1.3.0-beta01 содержит следующие коммиты .
Изменения в API
- Весь код перенесен из модуля
tracing-ktxвtracing. ( Iba550 ) - Класс
androidx.tracing.Traceпреобразован в Kotlin. ( IE4E5D )
Исправлены ошибки
- Удалено ручное описание доступа к новым API платформы, поскольку это происходит автоматически посредством моделирования API при использовании R8 с AGP 7.3 или более поздней версии (например, R8 версии 3.3) и для всех сборок при использовании AGP 8.1 или более поздней версии (например, D8 версии 8.1). Клиентам, не использующим AGP, рекомендуется обновиться до D8 версии 8.1 или более поздней. Подробнее см. в этой статье . ( Ia60e0 , b/345472586 )
Версия 1.3.0-alpha02
21 июня 2023 г.
Выпущены androidx.tracing:tracing:1.3.0-alpha02 и androidx.tracing:tracing-ktx:1.3.0-alpha02 без изменений по сравнению с предыдущей альфа-версией. Версия 1.3.0-alpha02 содержит следующие коммиты.
Версия 1.3.0-alpha01
7 июня 2023 г.
Выпущены androidx.tracing:tracing:1.3.0-alpha01 и androidx.tracing:tracing-ktx:1.3.0-alpha01 . Версия 1.3.0-alpha01 содержит следующие коммиты.
Изменения в API
- Удалите crossinline из трассировки, чтобы разрешить использование в
@Composable. ( I53882 , b/248344805 )
Версия 1.2
Версия 1.2.0
29 ноября 2023 г.
Выпущены androidx.tracing:tracing:1.2.0 и androidx.tracing:tracing-ktx:1.2.0 . Версия 1.2.0 содержит следующие коммиты.
Важные изменения по сравнению с версией 1.1.0
- Добавлены варианты функций
trace()иtraceAsync()с отложенным вычислением строк и cookie. Также теперь корректно пропускается вызовTrace.endеслиTrace.beginвызывает исключение.
Версия 1.2.0-rc01
24 мая 2023 г.
Выпущены androidx.tracing:tracing:1.2.0-rc01 и androidx.tracing:tracing-ktx:1.2.0-rc01 . Версия 1.2.0-rc01 содержит следующие коммиты.
Исправлены ошибки
- Предотвращение сбоев при передаче длинных имен участков трассировки путем автоматического усечения ( Iaf6e2 )
Версия 1.2.0-beta04
3 мая 2023 г.
Выпущены androidx.tracing:tracing:1.2.0-beta04 и androidx.tracing:tracing-ktx:1.2.0-beta04 без изменений. Версия 1.2.0-beta04 содержит следующие коммиты.
Версия 1.2.0-beta03
5 апреля 2023 г.
Выпущены androidx.tracing:tracing:1.2.0-beta03 и androidx.tracing:tracing-ktx:1.2.0-beta03 без каких-либо изменений. Версия 1.2.0-beta03 содержит следующие коммиты.
Версия 1.2.0-beta02
22 марта 2023 г.
Выпущены androidx.tracing:tracing:1.2.0-beta02 и androidx.tracing:tracing-ktx:1.2.0-beta02 без изменений по сравнению с предыдущей бета-версией. Версия 1.2.0-beta02 содержит следующие коммиты.
Версия 1.2.0-beta01
8 марта 2023 г.
Выпущены androidx.tracing:tracing:1.2.0-beta01 и androidx.tracing:tracing-ktx:1.2.0-beta01 без изменений по сравнению с последней альфа-версией. Версия 1.2.0-beta01 содержит следующие коммиты.
Версия 1.2.0-alpha02
23 февраля 2023 г.
Выпущены androidx.tracing:tracing:1.2.0-alpha02 и androidx.tracing:tracing-ktx:1.2.0-alpha02 без изменений по сравнению с предыдущей альфа-версией. Версия 1.2.0-alpha02 содержит следующие коммиты.
Исправлены ошибки
- В этом релизе исправлена ошибка
Could not find androidx.tracing:tracing-ktx:1.2.0-alpha02при обновлении до версииandroidx.tracing: tracing-perfetto-common:1.0.0-alpha11
Версия 1.2.0-alpha01
5 октября 2022 г.
Выпущены androidx.tracing:tracing:1.2.0-alpha01 и androidx.tracing:tracing-ktx:1.2.0-alpha01 . Версия 1.2.0-alpha01 содержит следующие коммиты.
Новые функции
- Добавлены варианты функций
trace()иtraceAsync()с отложенным вычислением строк и cookie. Также теперь корректно пропускается вызовTrace.end, если возникает исключениеTrace.begin. ( I31421 , b/175233952 , b/247066503 )
Версия 1.1
Версия 1.1.0
11 мая 2022 г.
Выпущены androidx.tracing:tracing:1.1.0 и androidx.tracing:tracing-ktx:1.1.0 . Версия 1.1.0 содержит следующие коммиты.
Важные изменения с версии 1.0.0
- Добавлен API-функция
Trace.forceEnableAppTracing()для принудительного включения захвата разделов трассировки приложения (т.е. API android.os.Trace / androidx.tracing) в сборках, не предназначенных для отладки. Вызывайте эту функцию в начале запуска, чтобы включить точную трассировку системы в сборках, не предназначенных для отладки, до появления тега манифеста с возможностью профилирования в API 29. ( I3a309 ) - Избегайте ошибок проверки классов при первой загрузке файла Trace.java ( 05f6b4 и cb101f ).
Версия 1.1.0-rc01
20 апреля 2022 г.
Выпущены androidx.tracing:tracing:1.1.0-rc01 и androidx.tracing:tracing-ktx:1.1.0-rc01 , без изменений по сравнению с beta01 . Версия 1.1.0-rc01 содержит следующие коммиты.
Версия 1.1.0-beta01
1 декабря 2021 г.
Выпущены androidx.tracing:tracing:1.1.0-beta01 и androidx.tracing:tracing-ktx:1.1.0-beta01 . Версия 1.1.0-beta01 содержит следующие коммиты.
С момента выхода 1.1.0-alpha02 изменений не наблюдалось.
Версия 1.1.0-alpha02
17 ноября 2021 г.
Выпущены androidx.tracing:tracing:1.1.0-alpha02 и androidx.tracing:tracing-ktx:1.1.0-alpha02 . Версия 1.1.0-alpha02 содержит следующие коммиты.
Новые функции
- Добавлен API-функция Trace.forceEnableAppTracing() для принудительного включения захвата разделов трассировки приложения (т.е. API android.os.Trace / andoridx.tracing) в сборках, не предназначенных для отладки. Вызывайте эту функцию в начале запуска, чтобы включить точную трассировку системы в сборках, не предназначенных для отладки, до появления тега манифеста с возможностью профилирования в API 29. ( I3a309 )
Версия 1.1.0-alpha01
3 ноября 2021 г.
Выпущены androidx.tracing:tracing:1.1.0-alpha01 и androidx.tracing:tracing-ktx:1.1.0-alpha01 . Версия 1.1.0-alpha01 содержит следующие коммиты.
Исправлены ошибки
Версия 1.0
Версия 1.0.0
28 октября 2020 г.
Выпущены androidx.tracing:tracing:1.0.0 и androidx.tracing:tracing-ktx:1.0.0 . Версия 1.0.0 содержит следующие коммиты.
Основные особенности версии 1.0.0
Эта библиотека помогает записывать события трассировки в системный буфер трассировки. Визуализацию можно осуществлять с помощью таких инструментов, как Systrace и Perfetto. Библиотека заменяет устаревший класс androidx.core.os.TraceCompat .
Версия 1.0.0-rc01
14 октября 2020 г.
Выпущены androidx.tracing:tracing:1.0.0-rc01 и androidx.tracing:tracing-ktx:1.0.0-rc01 . Версия 1.0.0-rc01 содержит следующие коммиты.
Данный релиз идентичен версии 1.0.0-beta01 .
Версия 1.0.0-beta01
24 июня 2020 г.
androidx.tracing:tracing:1.0.0-beta01 и androidx.tracing:tracing-ktx:1.0.0-beta01 выпущены без изменений по сравнению с 1.0.0-alpha01 . Версия 1.0.0-beta01 содержит следующие коммиты.
Версия 1.0.0-alpha01
10 июня 2020 г.
Выпущены androidx.tracing:tracing:1.0.0-alpha01 и androidx.tracing:tracing-ktx:1.0.0-alpha01 . Версия 1.0.0-alpha01 содержит следующие коммиты.
Новые функции
androidx.tracing — это библиотека, которая помогает записывать события трассировки в системный буфер трассировки. Визуализацию можно осуществлять с помощью таких инструментов, как Systrace и Perfetto. Эта библиотека заменяет устаревший класс androidx.core.os.TraceCompat . Первый релиз — 1.0.0-alpha01.
Трассировка Перфетто
Версия 1.0
Версия 1.0.1
19 ноября 2025 г.
Выпущены коммиты androidx.tracing:tracing-perfetto:1.0.1 , androidx.tracing:tracing-perfetto-binary:1.0.1 и androidx.tracing:tracing-perfetto-handshake:1.0.1 . Версия 1.0.1 содержит следующие коммиты .
Исправлены ошибки
- Поддержка страниц размером 16 КБ ( b7a7dd )
- Удалено ручное описание доступа к новым API платформы, поскольку это происходит автоматически посредством моделирования API при использовании R8 с AGP 7.3 или более поздней версии (например, R8 версии 3.3) и для всех сборок при использовании AGP 8.1 или более поздней версии (например, D8 версии 8.1). Клиентам, не использующим AGP, рекомендуется обновиться до D8 версии 8.1 или более поздней. Подробнее см. в этой статье . ( Ia60e0 , b/345472586 )
- Избегайте включения копий
FastNative/CriticalNativeв библиотеку и используйте стабильные версии для платформы. ( I8238a , b/35664282 , b/280878596 )
Версия 1.0.0
4 октября 2023 г.
Выпущены коммиты androidx.tracing:tracing-perfetto:1.0.0 , androidx.tracing:tracing-perfetto-binary:1.0.0 и androidx.tracing:tracing-perfetto-handshake:1.0.0 . Версия 1.0.0 содержит эти коммиты.
Основные особенности версии 1.0.0
- Это первый стабильный релиз библиотек Tracing-perfetto.
Версия 1.0.0-rc01
20 сентября 2023 г.
Выпущены androidx.tracing:tracing-perfetto:1.0.0-rc01 , androidx.tracing:tracing-perfetto-binary:1.0.0-rc01 и androidx.tracing:tracing-perfetto-handshake:1.0.0-rc01 без изменений по сравнению с последней бета-версией. Версия 1.0.0-rc01 содержит эти коммиты.
Версия 1.0.0-beta03
30 августа 2023 г.
Выпущены коммиты androidx.tracing:tracing-perfetto:1.0.0-beta03 , androidx.tracing:tracing-perfetto-binary:1.0.0-beta03 и androidx.tracing:tracing-perfetto-handshake:1.0.0-beta03 . Версия 1.0.0-beta03 содержит эти коммиты.
- Версия обновлена до версии androidx.benchmark.
Версия 1.0.0-beta02
23 августа 2023 г.
Выпущены коммиты androidx.tracing:tracing-perfetto:1.0.0-beta02 , androidx.tracing:tracing-perfetto-binary:1.0.0-beta02 и androidx.tracing:tracing-perfetto-handshake:1.0.0-beta02 . Версия 1.0.0-beta02 содержит эти коммиты.
Новые функции
- Включена поддержка трассировки при запуске приложения (холодный запуск).
Версия 1.0.0-beta01
18 июля 2023 г.
Выпущены коммиты androidx.tracing:tracing-perfetto:1.0.0-beta01 , androidx.tracing:tracing-perfetto-binary:1.0.0-beta01 и androidx.tracing:tracing-perfetto-handshake:1.0.0-beta01 . Версия 1.0.0-beta01 содержит эти коммиты.
Изменения в API
-
androidx.tracing.perfetto.Traceпереименован вandroidx.tracing.perfetto.PerfettoSdkTrace( I44af8 ). - Для обеспечения согласованности в протоколе константы "код выхода" были переименованы в "код результата" ( Id1d1e ).
- Переименование
EnableTracingResponseвResponse. ( I56275 ) - Добавлена опция для включения трассировки холодного запуска в постоянном режиме. Добавлена функция для очистки (постоянного или нет) трассировки холодного запуска. ( Iaa09d )
- Приведена согласованность трассировки API Perfetto SDK с
android.os.Trace. ( I73ba0 , b/282199917 ) - Переход к фабричной архитектуре для
LibrarySourceпозволяет легко добавлять в API будущие сценарии использования (например, прямую загрузку файла.so) при необходимости. ( I128df ) - Приведение параметров
enableTracingColdStartв соответствие сenableTracingImmediate( I54126 ) - Удалён аргумент
killProcessвenableTracingColdStart( I81c4d )
Версия 1.0.0-alpha17
21 июня 2023 г.
Выпущены androidx.tracing:tracing-perfetto:1.0.0-alpha17 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha17 и androidx.tracing:tracing-perfetto-handshake:1.0.0-alpha17 без изменений по сравнению с предыдущей альфа-версией. Версия 1.0.0-alpha17 содержит эти коммиты.
Версия 1.0.0-alpha16
7 июня 2023 г.
Выпущены androidx.tracing:tracing-perfetto:1.0.0-alpha16 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha16 и androidx.tracing:tracing-perfetto-common:1.0.0-alpha16 без изменений по сравнению с предыдущей альфа-версией. Версия 1.0.0-alpha16 содержит эти коммиты.
Версия 1.0.0-alpha15
3 мая 2023 г.
androidx.tracing:tracing-perfetto:1.0.0-alpha15 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha15 и androidx.tracing:tracing-perfetto-common:1.0.0-alpha15 выпущены без изменений. Версия 1.0.0-alpha15 содержит эти коммиты.
Версия 1.0.0-alpha14
5 апреля 2023 г.
Выпущены коммиты androidx.tracing:tracing-perfetto:1.0.0-alpha14 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha14 и androidx.tracing:tracing-perfetto-common:1.0.0-alpha14 без каких-либо изменений. Версия 1.0.0-alpha14 содержит эти коммиты.
Версия 1.0.0-alpha13
22 марта 2023 г.
Выпущены androidx.tracing:tracing-perfetto:1.0.0-alpha13 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha13 и androidx.tracing:tracing-perfetto-common:1.0.0-alpha13 без изменений по сравнению с предыдущим релизом. Версия 1.0.0-alpha13 содержит эти коммиты.
Версия 1.0.0-alpha12
8 марта 2023 г.
Выпущены версии androidx.tracing:tracing-perfetto:1.0.0-alpha12 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha12 и androidx.tracing:tracing-perfetto-common:1.0.0-alpha12 без изменений по сравнению с предыдущей альфа-версией. Версия 1.0.0-alpha12 содержит эти коммиты.
Версия 1.0.0-alpha11
22 февраля 2023 г.
androidx.tracing:tracing-perfetto:1.0.0-alpha11 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha11 и androidx.tracing:tracing-perfetto-common:1.0.0-alpha11 выпущены без изменений. Версия 1.0.0-alpha11 содержит эти коммиты.
Версия 1.0.0-alpha10
8 февраля 2023 г.
androidx.tracing:tracing-perfetto:1.0.0-alpha10 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha10 и androidx.tracing:tracing-perfetto-common:1.0.0-alpha10 выпущены без изменений. Версия 1.0.0-alpha10 содержит эти коммиты.
Версия 1.0.0-alpha09
10 февраля 2023 г.
Выпущена версия androidx.tracing:tracing-perfetto-binary:1.0.0-alpha09 . Версия 1.0.0-alpha09 содержит следующие коммиты.
Новые функции
- Выпуск версии
androidx.tracing:tracing-perfetto*: 1.0.0-alpha09работать вместе.
11 января 2023 г.
Выпущены androidx.tracing:tracing-perfetto:1.0.0-alpha09 и androidx.tracing:tracing-perfetto-common:1.0.0-alpha09 без изменений. Версия 1.0.0-alpha09 содержит следующие коммиты.
Версия 1.0.0-alpha08
7 декабря 2022 г.
Выпущены коммиты androidx.tracing:tracing-perfetto:1.0.0-alpha08 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha08 и androidx.tracing:tracing-perfetto-common:1.0.0-alpha08 . Версия 1.0.0-alpha08 содержит эти коммиты.
Новые функции
- Улучшена производительность за счет оптимизации обработки строк.
Исправлены ошибки
- Добавлено правило ProGuard, предотвращающее удаление методов
PerfettoNative, если этот класс вообще используется (предотвращает сбой в узкоспециализированном случае, когда трассировка инициализирована, но в приложении отсутствуют вызовы трассировки).
Версия 1.0.0-alpha07
9 ноября 2022 г.
Выпущены коммиты androidx.tracing:tracing-perfetto:1.0.0-alpha07 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha07 и androidx.tracing:tracing-perfetto-common:1.0.0-alpha07 . Версия 1.0.0-alpha07 содержит эти коммиты.
- Снижены накладные расходы JNI для API
androidx.tracing:tracing-perfetto.
Версия 1.0.0-alpha06
24 октября 2022 г.
Выпущены коммиты androidx.tracing:tracing-perfetto:1.0.0-alpha06 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha06 и androidx.tracing:tracing-perfetto-common:1.0.0-alpha06 . Версия 1.0.0-alpha06 содержит эти коммиты.
- Это обновление не содержит никаких изменений, только обновляет номер версии для синхронизации с androidx.benchmark.
Версия 1.0.0-alpha05
5 октября 2022 г.
Выпущены коммиты androidx.tracing:tracing-perfetto:1.0.0-alpha05 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha05 и androidx.tracing:tracing-perfetto-common:1.0.0-alpha05 . Версия 1.0.0-alpha05 содержит эти коммиты.
Версия 1.0.0-alpha04
21 сентября 2022 г.
Выпущены коммиты androidx.tracing:tracing-perfetto:1.0.0-alpha04 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha04 и androidx.tracing:tracing-perfetto-common:1.0.0-alpha04 . Версия 1.0.0-alpha04 содержит эти коммиты.
Версия 1.0.0-alpha03
7 сентября 2022 г.
Выпущены androidx.tracing:tracing-perfetto:1.0.0-alpha03 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha03 и androidx.tracing:tracing-perfetto-common:1.0.0-alpha03 .
Новые функции
- В версии 1.0.0-alpha02 новых функций нет.
Версия 1.0.0-alpha02
24 августа 2022 г.
Выпущены коммиты androidx.tracing:tracing-perfetto:1.0.0-alpha02 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha02 и androidx.tracing:tracing-perfetto-common:1.0.0-alpha02 . Версия 1.0.0-alpha02 содержит эти коммиты.
Исправлены ошибки
- Внесены некоторые улучшения в инициализацию сервиса Perfetto.
- Улучшена обработка случаев отсутствия ответа за счет введения специального кода завершения: RESULT_CODE_CANCELLED.
- Улучшена обработка ошибок синтаксического анализа.
- Сделано
EnableTracingResponse.requiredVersionдопускающим значение null, поскольку мы не можем узнать версию, если не можем взаимодействовать с пакетом. ( I5ba20 )
Версия 1.0.0-alpha01
27 июля 2022 г.
Выпущены коммиты androidx.tracing:tracing-perfetto:1.0.0-alpha01 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha01 и androidx.tracing:tracing-perfetto-common:1.0.0-alpha01 . Версия 1.0.0-alpha01 содержит эти коммиты.
- Примечание: Все библиотеки
androidx.tracing:tracing-perfetto*изначально предназначены только для внутреннего использования в библиотеках AndroidX. Вам не должно быть необходимости напрямую зависеть от них.
Новые функции
Все библиотеки
androidx.tracing:tracing-perfetto*изначально предназначены только для внутреннего использования в библиотеках AndroidX, и вам не должно быть необходимости напрямую зависеть от них. Мы документируем эти детали реализации для обеспечения прозрачности.androidx.tracing:tracing-perfetto— это библиотека, которая помогает записывать события трассировки с помощью простого в использовании SDK Perfetto. Ее можно использовать в Benchmark, Android Studio или Perfetto UI.androidx.tracing:tracing-perfetto-binary— это набор бинарных зависимостей, необходимых для работы androidx.tracing:tracing-perfetto.androidx.tracing:tracing-perfetto-common— это внутренняя зависимость androidx.tracing:tracing-perfetto, которую можно использовать в инструментах для интеграции с androidx.tracing:tracing-perfetto.
Отслеживание
| Последнее обновление | Стабильный релиз | Предварительная версия для выпуска | Бета-версия | Альфа-версия |
|---|---|---|---|---|
| 12 августа 2026 г. | 2.0.0 | - | - | - |
Обратная связь
Ваши отзывы помогают улучшить Jetpack. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав кнопку со звездочкой.
Для получения более подробной информации см. документацию по системе отслеживания ошибок .
Отслеживание
Версия 2.0
Версия 2.0.0
12 августа 2026 г.
Выпущена версия androidx.tracing:tracing-*:2.0.0 . Версия 2.0.0 содержит следующие коммиты .
Основные особенности версии 2.0.0:
Новый API для работы в рамках процесса позволяет:
- Запись содержимого трассировки в процессе работы, непосредственно на объекте.
- Поток перфетто (стрелки от одного среза к другому)
- Аннотации Perfetto (метаданные срезов ключ/значение)
-
traceCoroutine() {}- API трассировки сопрограмм, отслеживающий переключения потоков. - Фильтрация по категориям
- Значительно меньшие накладные расходы по сравнению с существующим API
android.os.Traceиtrace() {} - Трассировка KMP — может использоваться для библиотек, не зависящих от Android, а также для проектов на хост-машине JVM.
- Постфактумное объединение с записью трассировки системы (реализовано по умолчанию в AndroidX Benchmark 1.5)
Обратите внимание, что новые API трассировки записывают данные в буфер, управляемый процессом, который пока не используется системой трассировки Studio. Эта проблема будет решена в профилировщиках Studio в одном из следующих релизов.
Существующие API-функции android.os.Trace / trace() {} не устарели. Эти API-функции по-прежнему рекомендуются для событий с низкой частотой, которые всегда должны записываться в системный буфер трассировки, особенно в библиотеках.
Версия 2.0.0-rc01
29 июля 2026 г.
Выпущена версия androidx.tracing:tracing-*:2.0.0-rc01 . Версия 2.0.0-rc01 содержит следующие коммиты .
Версия 2.0.0-beta01
15 июля 2026 г.
Выпущена версия androidx.tracing:tracing-*:2.0.0-beta01 . Версия 2.0.0-beta01 содержит следующие коммиты .
Изменения в API
- Теперь
PerfettoCaptureиPerfettoTraceRuleмогут захватывать трассировки внутри процесса и объединять их для целевого пакета. ( I9a00b , b/497959820 ) -
androidx.benchmarkтеперь используетсяminSdk24 ( IC2A85 ).
Исправлены ошибки
- Трассировка выпуска 2.0-beta01. ( I1b162 )
- При генерации информации о дорожках используйте идентификаторы потоков, специфичные для платформы. ( I6ba64 )
Версия 2.0.0-alpha09
23 июня 2026 г.
Выпущена версия androidx.tracing:tracing-*:2.0.0-alpha09 . Версия 2.0.0-alpha09 содержит следующие коммиты .
Изменения в API
- Незначительное изменение API в
Tracerдля различенияinstant(...)иwriteInstant(...). ( I0935a ) - Добавить поддержку токенов распространения в мгновенных событиях. ( I99f81 )
- Разрешить полное использование потоков Perfetto в экспериментальном API для ручного распространения контекста. ( I20cb6 )
- Отложить создание
BufferedSinkиProtoWriterвTraceSink. ( Ibd098 ) - Сделайте обнаружение
Tracerпростым и совместимым с библиотеками Java и Android. ( I99111 ) - Упростите разработчикам библиотек поиск экземпляра
TraceDriver, который можно использовать для трассировки внутри процесса. ( Ia503e )
Версия 2.0.0-alpha08
19 мая 2026 г.
Выпущена версия androidx.tracing:tracing-*:2.0.0-alpha08 . Версия 2.0.0-alpha08 содержит следующие коммиты .
Изменения в API
- Добавить возможность обнаружения и переопределения экземпляров
TraceDriverдля использования в рамках всего процесса. ( I3f715 ) - Переименовать
Tracer.recordExceptionвTracer.recordExceptionAndThrow. ( I4411f , b/503092450 )
Версия 2.0.0-alpha07
6 мая 2026 г.
Выпущена версия androidx.tracing:tracing-*:2.0.0-alpha07 . Версия 2.0.0-alpha07 содержит следующие коммиты .
Изменения в API
- Добавить API для получения заглушки трассировщика, которую можно использовать, когда трассировка отключена. ( I84c98 )
- Обеспечьте согласованность жизненного цикла трассировки с системной трассировкой. ( Ib391b )
- API счетчиков теперь полностью не требуют выделения памяти. ( I5e73a )
Исправлены ошибки
- Исправлено правило сохранения для SDK Perfetto (
tracing-perfetto), которое гарантирует возможность включения SDK Perfetto. ( I1d227 ) - Добавить возможность отслеживания событий
flush(). ( I38014 , b/495852704 )
Версия 2.0.0-alpha06
22 апреля 2026 г.
Выпущена версия androidx.tracing:tracing-*:2.0.0-alpha06 . Версия 2.0.0-alpha06 содержит следующие коммиты .
Изменения в API
- Снимите ограничения
File.createPerfettoFile()чтобы другие могли безопасно создавать приемники. Когдаblock()генерирует исключение вtrace/traceCoroutineсоздайтеinstantсобытие для исключения с метаданными, представляющими соответствующие элементы трассировки стека. ( I682e5 , b/501536851 , b/437166283 ) - Добавить перегрузку функции
setCounter(...), принимающую тип JavaLong. ( Ic0469 , b/356082604 ) - В версии 2.0 для идентификаторов
Threadспецифичных для платформы, используетсяLong. ( I67277 )
Исправлены ошибки
- Улучшить документацию для
AttributeEntry.reset(). ( I5d3a1 , b/496079439 )
Версия 2.0.0-alpha05
8 апреля 2026 г.
Выпущена версия androidx.tracing:tracing-*:2.0.0-alpha05 . Версия 2.0.0-alpha05 содержит следующие коммиты .
Изменения в API
- Функции фабрики
TraceSinkтеперь возвращаютTraceSink, а неAbstractTraceSink. Файлы теперь имеют уникальный суффикс. Мы гарантируем возможность атомарного создания нового файла, который будет использоваться для хранения пакетов трассировки. ( I4c4aa , b/496298726 ) - Упростите и ускорьте распространение контекста сопрограмм. ( Ia62db )
- Ввести необязательные
attributes()при создании объектаTraceDriver, которые позволяют добавлять метаданные, относящиеся к трассировке. ( Ia147e )
Исправлены ошибки
- Теперь потоки обработки и счетчики отслеживаются синхронно. Это исправляет исключения вида:
java.lang.NullPointerException: Cannot invoke "androidx.tracing.ThreadTrack.flush$tracing()" because "threadTrack" is null - Избегайте отправки событий от приемника, если трассировка отключена.
Версия 2.0.0-alpha04
25 марта 2026 г.
Выпущена версия androidx.tracing:tracing-*:2.0.0-alpha04 . Версия 2.0.0-alpha04 содержит следующие коммиты .
Изменения в API
- Сделайте
AbstractTraceDriverдействительно абстрактным и перенесите реализациюPerfettoв модульtracing-wire. ( IE2F59 ) - Присвойте базовым реализациям более описательные имена, чтобы избежать использования неправильной. Разработчикам, ранее расширявшим
androidx.tracing.Trace{Sink|Driver}теперь потребуется перейти на использованиеAbstractTrace{Sink|Driver}. ( I9b46d )
Версия 2.0.0-alpha03
11 марта 2026 г.
Выпущена версия androidx.tracing:tracing-*:2.0.0-alpha03 . Версия 2.0.0-alpha03 содержит следующие коммиты .
Изменения в API
- Добавлена экспериментальная реализация
InMemoryRingBufferTraceSink, которая позволяет устанавливать ограничение по емкости и предотвращает запись на диск, если это явно не запрошено. ( I1dc44 , b/484409653 , I65a37 , b/484409653 ) - Исправлена ошибка состояния гонки при генерации событий трассировки для приостановки и возобновления работы сопрограмм. ( IE145e )
Исправлены ошибки
-
androidx.tracingпо умолчанию больше не предпринимается попыток установить связи между родительскими и дочерними сопрограммами в трассировках. Это вызывало путаницу, поскольку базовый формат трассировки не поддерживает связи1:NиN:1, что приводило к образованию множества стрелок из-за неоднозначности в определении того, какой фрагмент сопрограммы к чему подключается. Вы по-прежнему можете вручную включить распространение с помощью APItokenForManualPropagation()если это важно для вашего случая. ( Ib2cf9 )
Версия 2.0.0-alpha02
25 февраля 2026 г.
Выпущена версия androidx.tracing:tracing-*:2.0.0-alpha02 . Версия 2.0.0-alpha02 содержит следующие коммиты .
Новые функции
- Improved performance for the Perfetto Trace Sink implementation by using the
suspendCoroutineUninterceptedOrReturnintrinsic ( 2ea97b ).
Version 2.0.0-alpha01
28 января 2026 г.
androidx.tracing:tracing-*:2.0.0-alpha01 is released. Version 2.0.0-alpha01 contains these commits .
Новые функции
AndroidX Tracing 2.0 introduces a significant new API surface for low-overhead, in-process tracing, as a complement to the existing android.os.Tracing -based APIs in Tracing 1.0. The new APIs are available both on Android and host JVM, which enables host tools to emit low overhead traces for performance analysis, using the same standard Perfetto trace format.
Emitted traces are supported both by Android Studio and Perfetto, and can be recorded with an expanded feature set including tagging slices with metadata (such as function arguments!), and coroutine context trace propagation.
This initial alpha is only meant for in-process tracing workflows, and does not yet integrate with Android OS tracing or Studio Profiler System Tracing - these will be coming in a future alpha.
/**
* A [TraceSink] defines how traces are serialized.
*
* [androidx.tracing.wire.TraceSink] uses the `Perfetto` trace packet format.
*/
fun createSink(): TraceSink {
val outputDirectory = File(/* pathname = */ "/tmp/perfetto")
// We are using the factory function defined in androidx.tracing.wire
return TraceSink(
sequenceId = 1,
directory = outputDirectory
)
}
/**
* Creates a new instance of [androidx.tracing.TraceDriver].
*/
fun createTraceDriver(): TraceDriver {
// We are using a factory function from androidx.tracing.wire here.
// `isEnabled` controls whether tracing is enabled for the application.
val driver = TraceDriver(sink = createSink(), isEnabled = true)
return driver
}
fun main() {
val driver = createTraceDriver()
driver.use {
driver.tracer.trace(category = CATEGORY_MAIN, name = "basic") {
Thread.sleep(100L)
}
}
}
Изменения в API
- Make
Tracera property of theTraceDriver. ( Iabd9b ) - Add support for manual context propagation. ( I899ff )
- Add the ability to add call stack information in a trace section. ( If6a1b )
- Introduce the new
androidx.tracingAPIs. ( I5102b ) - Allow instant events to contain metadata, and add counters to instants & counters. ( Ia2ed3 )
- Reduce the surface area of the API annotated with
@DelicateTracingApi. Nothing in the top level API should require the use of@DelicateTracingApi. ( I565e0 ) - Simplify context propagation by unifying
PropagationTokens. ( Iab839 ) - Stabilize
BlackHoleAPIs inandroidx.benchmark. ( I2b67e , b/451749438 ) - Add the ability to annotate the trace section as a root span. ( Ic8365 )
- Allow the developer to explicit about propagation tokens. ( I06bb1 )
- Renamed
MetadataHandleCloseabletoEventMetadataCloseable, andMetadataHandletoEventMetadata. Also added an optionalCoroutinePropagationTokenargument toTracer.traceCoroutineto allow the developer to explicitly specify the propagation token to use. ( I219f7 , b/454147392 ) - Introduced a new
Tracerentry point which gives developers a lot more control on how to trace. ( I24a7b ) - Add the ability to control how context propagation happens in a
SliceTrack. ( Ieb8fc ) -
fillCountinPooledTracePacketArrayis now correctly marked volatile. ( I75d2c ) - Mark
MetadataEntry@DelicateTracingApi. ( I8c723 ) - Add the ability for a
TraceSinkto be able to handle lost trace events (when the pool is exhausted). ( I3b374 ) - Add the ability to conditionally emit trace events based on a predicate. ( I621b4 )
- Add the ability to add categories to a trace event. ( I449c2 )
- Mark
TraceEvent,PooledTracePacketArrayasDelicateTracingApi. ( Iaac6d ) - Make
ProcessTrack.id,ThreadTrack.id,ThreadTrack.name,CounterTrack.nameandCounterTrack.parentpublic. ( I81210 ) - Renamed the
SliceTrack.traceFlow()API totraceCoroutine(). ( I79ad0 ) - Add the ability to add contextual information to slices via debug annotations in a Perfetto trace. ( Ic2b56 )
- Make it possible to construct an instance of
WireTraceSinkwith aFile/OutputStream. ( Iecea0 ) - Removing obsolete
@RequiresApi(21)annotations ( Ic4792 )
Версия 1.3
Версия 1.3.0
23 апреля 2025 г.
androidx.tracing:tracing:1.3.0 , androidx.tracing:tracing-android:1.3.0 , and androidx.tracing:tracing-ktx:1.3.0 are released. Version 1.3.0 contains these commits .
Important changes since 1.2.0
- Converted
androidx.tracing.Traceclass to Kotlin, and moved all code from thetracing-ktxmodule totracing. - Remove crossinline from trace to allow using in a
@Composable. ( I53882 , b/248344805 )
Version 1.3.0-rc01
9 апреля 2025 г.
androidx.tracing:tracing:1.3.0-rc01 , androidx.tracing:tracing-android:1.3.0-rc01 , and androidx.tracing:tracing-ktx:1.3.0-rc01 are released with no changes since the last beta. Version 1.3.0-rc01 contains these commits .
Version 1.3.0-beta01
12 февраля 2025 г.
androidx.tracing:tracing:1.3.0-beta01 , androidx.tracing:tracing-android:1.3.0-beta01 , and androidx.tracing:tracing-ktx:1.3.0-beta01 are released. Version 1.3.0-beta01 contains these commits .
Изменения в API
- Moved all the code from the
tracing-ktxmodule totracing. ( Iba550 ) - Converted
androidx.tracing.Traceclass to Kotlin. ( Ie4e5d )
Исправлены ошибки
- Removed manual outlining of access to new platform APIs since this happens automatically via API modeling when using R8 with AGP 7.3 or later (eg R8 version 3.3) and for all builds when using AGP 8.1 or later (eg D8 version 8.1). Clients who are not using AGP are advised to update to D8 version 8.1 or later. See this article for more details. ( Ia60e0 , b/345472586 )
Version 1.3.0-alpha02
June 21, 2023
androidx.tracing:tracing:1.3.0-alpha02 and androidx.tracing:tracing-ktx:1.3.0-alpha02 are released with no changes from previous alpha. Version 1.3.0-alpha02 contains these commits.
Version 1.3.0-alpha01
June 7, 2023
androidx.tracing:tracing:1.3.0-alpha01 and androidx.tracing:tracing-ktx:1.3.0-alpha01 are released. Version 1.3.0-alpha01 contains these commits.
Изменения в API
- Remove crossinline from trace to allow using in a
@Composable. ( I53882 , b/248344805 )
Версия 1.2
Версия 1.2.0
29 ноября 2023 г.
androidx.tracing:tracing:1.2.0 and androidx.tracing:tracing-ktx:1.2.0 are released. Version 1.2.0 contains these commits.
Important changes since 1.1.0
- Add
trace()andtraceAsync()variants with lazy string and cookie computation. Also now correctly skipsTrace.endifTrace.beginthrows.
Version 1.2.0-rc01
24 мая 2023 г.
androidx.tracing:tracing:1.2.0-rc01 and androidx.tracing:tracing-ktx:1.2.0-rc01 are released. Version 1.2.0-rc01 contains these commits.
Исправлены ошибки
- Prevent crashes when long trace section names are passed by truncating automatically ( Iaf6e2 )
Version 1.2.0-beta04
3 мая 2023 г.
androidx.tracing:tracing:1.2.0-beta04 and androidx.tracing:tracing-ktx:1.2.0-beta04 are released with no changes. Version 1.2.0-beta04 contains these commits.
Version 1.2.0-beta03
5 апреля 2023 г.
androidx.tracing:tracing:1.2.0-beta03 and androidx.tracing:tracing-ktx:1.2.0-beta03 are released with no new changes. Version 1.2.0-beta03 contains these commits.
Version 1.2.0-beta02
22 марта 2023 г.
androidx.tracing:tracing:1.2.0-beta02 and androidx.tracing:tracing-ktx:1.2.0-beta02 are released with no changes since the previous beta. Version 1.2.0-beta02 contains these commits.
Version 1.2.0-beta01
8 марта 2023 г.
androidx.tracing:tracing:1.2.0-beta01 and androidx.tracing:tracing-ktx:1.2.0-beta01 are released with no changes since the last alpha. Version 1.2.0-beta01 contains these commits.
Версия 1.2.0-alpha02
23 февраля 2023 г.
androidx.tracing:tracing:1.2.0-alpha02 and androidx.tracing:tracing-ktx:1.2.0-alpha02 are released with no changes from the previous alpha. Version 1.2.0-alpha02 contains these commits.
Исправлены ошибки
- This release will fix a
Could not find androidx.tracing:tracing-ktx:1.2.0-alpha02error when upgrading toandroidx.tracing: tracing-perfetto-common:1.0.0-alpha11
Версия 1.2.0-alpha01
5 октября 2022 г.
androidx.tracing:tracing:1.2.0-alpha01 and androidx.tracing:tracing-ktx:1.2.0-alpha01 are released. Version 1.2.0-alpha01 contains these commits.
Новые функции
- Add
trace()andtraceAsync()variants with lazy string and cookie computation. Also now correctly skipsTrace.endifTrace.beginthrows. ( I31421 , b/175233952 , b/247066503 )
Версия 1.1
Версия 1.1.0
11 мая 2022 г.
androidx.tracing:tracing:1.1.0 and androidx.tracing:tracing-ktx:1.1.0 are released. Version 1.1.0 contains these commits.
Важные изменения с версии 1.0.0
- Added
Trace.forceEnableAppTracing()an API to force-enable app trace section capture (ie android.os.Trace / androidx.tracing APIs) on non-debuggable builds. Call this at the beginning of startup to enable non-debuggable accurate system tracing before the introduction of the profileable manifest tag in API 29. ( I3a309 ) - Avoid class verification errors when Trace.java is loaded for the first time ( 05f6b4 and cb101f )
Версия 1.1.0-rc01
20 апреля 2022 г.
androidx.tracing:tracing:1.1.0-rc01 and androidx.tracing:tracing-ktx:1.1.0-rc01 are released, with no changes since beta01 . Version 1.1.0-rc01 contains these commits.
Версия 1.1.0-beta01
1 декабря 2021 г.
androidx.tracing:tracing:1.1.0-beta01 and androidx.tracing:tracing-ktx:1.1.0-beta01 are released. Version 1.1.0-beta01 contains these commits.
No changes since 1.1.0-alpha02 .
Версия 1.1.0-alpha02
17 ноября 2021 г.
androidx.tracing:tracing:1.1.0-alpha02 and androidx.tracing:tracing-ktx:1.1.0-alpha02 are released. Version 1.1.0-alpha02 contains these commits.
Новые функции
- Added Trace.forceEnableAppTracing() an API to force-enable app trace section capture (ie android.os.Trace / andoridx.tracing APIs) on non-debuggable builds. Call this at the beginning of startup to enable non-debuggable accurate system tracing before the introduction of the profileable manifest tag in API 29. ( I3a309 )
Версия 1.1.0-alpha01
3 ноября 2021 г.
androidx.tracing:tracing:1.1.0-alpha01 and androidx.tracing:tracing-ktx:1.1.0-alpha01 are released. Version 1.1.0-alpha01 contains these commits.
Исправлены ошибки
Версия 1.0
Версия 1.0.0
28 октября 2020 г.
androidx.tracing:tracing:1.0.0 and androidx.tracing:tracing-ktx:1.0.0 are released. Version 1.0.0 contains these commits.
Major features of 1.0.0
Helps write trace events to the system trace buffer. This can be visualized using tools like Systrace and Perfetto. This library replaces the deprecated androidx.core.os.TraceCompat class.
Версия 1.0.0-rc01
14 октября 2020 г.
androidx.tracing:tracing:1.0.0-rc01 and androidx.tracing:tracing-ktx:1.0.0-rc01 are released. Version 1.0.0-rc01 contains these commits.
This release is identical to 1.0.0-beta01 .
Версия 1.0.0-beta01
June 24, 2020
androidx.tracing:tracing:1.0.0-beta01 and androidx.tracing:tracing-ktx:1.0.0-beta01 are released with no changes since 1.0.0-alpha01 . Version 1.0.0-beta01 contains these commits.
Версия 1.0.0-alpha01
10 июня 2020 г.
androidx.tracing:tracing:1.0.0-alpha01 and androidx.tracing:tracing-ktx:1.0.0-alpha01 are released. Version 1.0.0-alpha01 contains these commits.
Новые функции
androidx.tracing is a library which helps write trace events to the system trace buffer. This can be visualized using tools like Systrace and Perfetto. This library replaces the deprecated androidx.core.os.TraceCompat class. This initial release is 1.0.0-alpha01.
Tracing Perfetto
Версия 1.0
Версия 1.0.1
19 ноября 2025 г.
androidx.tracing:tracing-perfetto:1.0.1 , androidx.tracing:tracing-perfetto-binary:1.0.1 , and androidx.tracing:tracing-perfetto-handshake:1.0.1 are released. Version 1.0.1 contains these commits .
Исправлены ошибки
- Support for 16KB page sizes ( b7a7dd )
- Removed manual outlining of access to new platform APIs since this happens automatically via API modeling when using R8 with AGP 7.3 or later (eg R8 version 3.3) and for all builds when using AGP 8.1 or later (eg D8 version 8.1). Clients who are not using AGP are advised to update to D8 version 8.1 or later. See this article for more details. ( Ia60e0 , b/345472586 )
- Avoid bundling copies of
FastNative/CriticalNativein the library, and use the stable platform copies. ( I8238a , b/35664282 , b/280878596 )
Версия 1.0.0
4 октября 2023 г.
androidx.tracing:tracing-perfetto:1.0.0 , androidx.tracing:tracing-perfetto-binary:1.0.0 , and androidx.tracing:tracing-perfetto-handshake:1.0.0 are released. Version 1.0.0 contains these commits.
Major features of 1.0.0
- This is the first stable release of the Tracing-perfetto libraries.
Версия 1.0.0-rc01
20 сентября 2023 г.
androidx.tracing:tracing-perfetto:1.0.0-rc01 , androidx.tracing:tracing-perfetto-binary:1.0.0-rc01 , and androidx.tracing:tracing-perfetto-handshake:1.0.0-rc01 are released with no changes since the last beta. Version 1.0.0-rc01 contains these commits.
Version 1.0.0-beta03
30 августа 2023 г.
androidx.tracing:tracing-perfetto:1.0.0-beta03 , androidx.tracing:tracing-perfetto-binary:1.0.0-beta03 , and androidx.tracing:tracing-perfetto-handshake:1.0.0-beta03 are released. Version 1.0.0-beta03 contains these commits.
- Version bump to match androidx.benchmark release.
Version 1.0.0-beta02
August 23, 2023
androidx.tracing:tracing-perfetto:1.0.0-beta02 , androidx.tracing:tracing-perfetto-binary:1.0.0-beta02 , and androidx.tracing:tracing-perfetto-handshake:1.0.0-beta02 are released. Version 1.0.0-beta02 contains these commits.
Новые функции
- Enabled support for tracing at app startup (cold start).
Версия 1.0.0-beta01
18 июля 2023 г.
androidx.tracing:tracing-perfetto:1.0.0-beta01 , androidx.tracing:tracing-perfetto-binary:1.0.0-beta01 , and androidx.tracing:tracing-perfetto-handshake:1.0.0-beta01 are released. Version 1.0.0-beta01 contains these commits.
Изменения в API
- Renamed
androidx.tracing.perfetto.Tracetoandroidx.tracing.perfetto.PerfettoSdkTrace( I44af8 ) - Renamed "exit code" to "result code" constants in the protocol for consistency ( Id1d1e )
- Renamed
EnableTracingResponsetoResponse. ( I56275 ) - Added an option to enable cold start tracing in a persistent mode. Added a function to clear (persistent or not) cold start tracing. ( Iaa09d )
- Made Tracing Perfetto SDK APIs consistent with
android.os.Trace. ( I73ba0 , b/282199917 ) - Moved to a factory pattern for
LibrarySourceallowing for future use-cases (eg loading the.sofile directly) to be easily added to the API if needed. ( I128df ) - Making
enableTracingColdStartparameters matchenableTracingImmediate( I54126 ) - Removed
killProcessargument inenableTracingColdStart( I81c4d )
Version 1.0.0-alpha17
June 21, 2023
androidx.tracing:tracing-perfetto:1.0.0-alpha17 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha17 , and androidx.tracing:tracing-perfetto-handshake:1.0.0-alpha17 are released with no changes from previous alpha. Version 1.0.0-alpha17 contains these commits.
Version 1.0.0-alpha16
June 7, 2023
androidx.tracing:tracing-perfetto:1.0.0-alpha16 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha16 , and androidx.tracing:tracing-perfetto-common:1.0.0-alpha16 are released with no changes from previous alpha. Version 1.0.0-alpha16 contains these commits.
Version 1.0.0-alpha15
3 мая 2023 г.
androidx.tracing:tracing-perfetto:1.0.0-alpha15 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha15 , and androidx.tracing:tracing-perfetto-common:1.0.0-alpha15 are released with no changes. Version 1.0.0-alpha15 contains these commits.
Version 1.0.0-alpha14
5 апреля 2023 г.
androidx.tracing:tracing-perfetto:1.0.0-alpha14 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha14 , and androidx.tracing:tracing-perfetto-common:1.0.0-alpha14 are released with no new changes. Version 1.0.0-alpha14 contains these commits.
Version 1.0.0-alpha13
22 марта 2023 г.
androidx.tracing:tracing-perfetto:1.0.0-alpha13 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha13 , and androidx.tracing:tracing-perfetto-common:1.0.0-alpha13 are released with no changes since the last release. Version 1.0.0-alpha13 contains these commits.
Version 1.0.0-alpha12
8 марта 2023 г.
androidx.tracing:tracing-perfetto:1.0.0-alpha12 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha12 , and androidx.tracing:tracing-perfetto-common:1.0.0-alpha12 are released with no changes since previous alpha. Version 1.0.0-alpha12 contains these commits.
Версия 1.0.0-alpha11
22 февраля 2023 г.
androidx.tracing:tracing-perfetto:1.0.0-alpha11 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha11 , and androidx.tracing:tracing-perfetto-common:1.0.0-alpha11 are released with no changes. Version 1.0.0-alpha11 contains these commits.
Версия 1.0.0-alpha10
8 февраля 2023 г.
androidx.tracing:tracing-perfetto:1.0.0-alpha10 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha10 and androidx.tracing:tracing-perfetto-common:1.0.0-alpha10 are released with no changes. Version 1.0.0-alpha10 contains these commits.
Версия 1.0.0-alpha09
February 10, 2023
androidx.tracing:tracing-perfetto-binary:1.0.0-alpha09 is released. Version 1.0.0-alpha09 contains these commits.
Новые функции
- Version bump release to allow other
androidx.tracing:tracing-perfetto*: 1.0.0-alpha09libraries to work together.
11 января 2023 г.
androidx.tracing:tracing-perfetto:1.0.0-alpha09 and androidx.tracing:tracing-perfetto-common:1.0.0-alpha09 are released with no changes. Version 1.0.0-alpha09 contains these commits.
Версия 1.0.0-alpha08
December 7, 2022
androidx.tracing:tracing-perfetto:1.0.0-alpha08 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha08 , and androidx.tracing:tracing-perfetto-common:1.0.0-alpha08 are released. Version 1.0.0-alpha08 contains these commits.
Новые функции
- Improved performance by optimising the way strings are handled.
Исправлены ошибки
- Added a proguard rule preventing methods of
PerfettoNativefrom being pruned if the class is used at all (prevents a crash in a niche case when tracing is initialised, but no tracing calls are present in the app).
Версия 1.0.0-alpha07
9 ноября 2022 г.
androidx.tracing:tracing-perfetto:1.0.0-alpha07 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha07 , and androidx.tracing:tracing-perfetto-common:1.0.0-alpha07 are released. Version 1.0.0-alpha07 contains these commits.
- Reduced JNI overhead of
androidx.tracing:tracing-perfettoAPIs.
Версия 1.0.0-alpha06
24 октября 2022 г.
androidx.tracing:tracing-perfetto:1.0.0-alpha06 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha06 , and androidx.tracing:tracing-perfetto-common:1.0.0-alpha06 are released. Version 1.0.0-alpha06 contains these commits.
- This update includes no changes, just updating version number to sync with androidx.benchmark.
Версия 1.0.0-alpha05
5 октября 2022 г.
androidx.tracing:tracing-perfetto:1.0.0-alpha05 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha05 , and androidx.tracing:tracing-perfetto-common:1.0.0-alpha05 are released. Version 1.0.0-alpha05 contains these commits.
Версия 1.0.0-alpha04
21 сентября 2022 г.
androidx.tracing:tracing-perfetto:1.0.0-alpha04 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha04 , and androidx.tracing:tracing-perfetto-common:1.0.0-alpha04 are released. Version 1.0.0-alpha04 contains these commits.
Версия 1.0.0-alpha03
7 сентября 2022 г.
androidx.tracing:tracing-perfetto:1.0.0-alpha03 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha03 , and androidx.tracing:tracing-perfetto-common:1.0.0-alpha03 are released.
Новые функции
- No new features from the 1.0.0-alpha02.
Версия 1.0.0-alpha02
24 августа 2022 г.
androidx.tracing:tracing-perfetto:1.0.0-alpha02 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha02 , and androidx.tracing:tracing-perfetto-common:1.0.0-alpha02 are released. Version 1.0.0-alpha02 contains these commits.
Исправлены ошибки
- Several improvements to Perfetto service initialization
- Improved handling of a no-response case by introducing a dedicated exit code: RESULT_CODE_CANCELLED.
- Improved handling of parsing errors.
- Made
EnableTracingResponse.requiredVersionnullable, as we cannot know the version if we cannot communicate with the package. ( I5ba20 )
Версия 1.0.0-alpha01
27 июля 2022 г.
androidx.tracing:tracing-perfetto:1.0.0-alpha01 , androidx.tracing:tracing-perfetto-binary:1.0.0-alpha01 , and androidx.tracing:tracing-perfetto-common:1.0.0-alpha01 are released. Version 1.0.0-alpha01 contains these commits.
- Note: All
androidx.tracing:tracing-perfetto*libraries are initially only intended for internal use inside AndroidX libraries. You should have no need to depend on them directly.
Новые функции
All
androidx.tracing:tracing-perfetto*libraries are initially only intended for internal use inside AndroidX libraries. and you should have no need to depend on them directly. We are documenting these implementation details for transparency.androidx.tracing:tracing-perfettois a library which helps write trace events using low-overhead Perfetto SDK. This can be used inside Benchmark, Android Studio or Perfetto UI.androidx.tracing:tracing-perfetto-binaryis a set of binary dependencies required for androidx.tracing:tracing-perfetto.androidx.tracing:tracing-perfetto-commonis an internal dependency of androidx.tracing:tracing-perfetto and can be used by tooling to integrate with androidx.tracing:tracing-perfetto.