Tracing
Latest Update | Stable Release | Release Candidate | Beta Release | Alpha Release |
---|---|---|---|---|
November 29, 2023 | 1.2.0 | - | - | 1.3.0-alpha02 |
Feedback
Your feedback helps make Jetpack better. Let us know if you discover new issues or have ideas for improving this library. Please take a look at the existing issues in this library before you create a new one. You can add your vote to an existing issue by clicking the star button.
See the Issue Tracker documentation for more information.
Version 1.3
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 Changes
- Remove crossinline from trace to allow using in a
@Composable
. (I53882, b/248344805)
Version 1.2
Version 1.2.0
November 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.end
ifTrace.begin
throws.
Version 1.2.0-rc01
May 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.
Bug Fixes
- Prevent crashes when long trace section names are passed by truncating automatically (Iaf6e2)
Version 1.2.0-beta04
May 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
April 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
March 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
March 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.
Version 1.2.0-alpha02
February 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.
Bug Fixes
- This release will fix a
Could not find androidx.tracing:tracing-ktx:1.2.0-alpha02
error when upgrading toandroidx.tracing: tracing-perfetto-common:1.0.0-alpha11
Version 1.2.0-alpha01
October 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.
New Features
- Add
trace()
andtraceAsync()
variants with lazy string and cookie computation. Also now correctly skipsTrace.end
ifTrace.begin
throws. (I31421, b/175233952, b/247066503)
Tracing Version 1.1
Version 1.1.0
May 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.
Important changes since 1.0.0
- Added
Trace.forceEnableAppTracing()
an API to force-enable app trace section capture (i.e. 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)
Version 1.1.0-rc01
April 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.
Version 1.1.0-beta01
December 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
.
Version 1.1.0-alpha02
November 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.
New Features
- Added Trace.forceEnableAppTracing() an API to force-enable app trace section capture (i.e. 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)
Version 1.1.0-alpha01
November 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.
Bug Fixes
Tracing Perfetto Version 1.0.0
Version 1.0.0
October 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.
Version 1.0.0-rc01
September 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
August 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.
New Features
- Enabled support for tracing at app startup (cold start).
Version 1.0.0-beta01
July 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 Changes
- Renamed
androidx.tracing.perfetto.Trace
toandroidx.tracing.perfetto.PerfettoSdkTrace
(I44af8) - Renamed "exit code" to "result code" constants in the protocol for consistency (Id1d1e)
- Renamed
EnableTracingResponse
toResponse
. (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
LibrarySource
allowing for future use-cases (e.g. loading the.so
file directly) to be easily added to the API if needed. (I128df) - Making
enableTracingColdStart
parameters matchenableTracingImmediate
(I54126) - Removed
killProcess
argument 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
May 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
April 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
March 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
March 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.
Version 1.0.0-alpha11
February 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.
Version 1.0.0-alpha10
February 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.
Version 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.
New Features
- Version bump release to allow other
androidx.tracing:tracing-perfetto*: 1.0.0-alpha09
libraries to work together.
January 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.
Version 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.
New Features
- Improved performance by optimising the way strings are handled.
Bug Fixes
- Added a proguard rule preventing methods of
PerfettoNative
from 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).
Version 1.0.0-alpha07
November 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-perfetto
APIs.
Version 1.0.0-alpha06
October 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.
Version 1.0.0-alpha05
October 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.
Version 1.0.0-alpha04
September 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.
Version 1.0.0-alpha03
September 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.
New Features
- No new features from the 1.0.0-alpha02.
Version 1.0.0-alpha02
August 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.
Bug Fixes
- 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.requiredVersion
nullable, as we cannot know the version if we cannot communicate with the package. (I5ba20)
Version 1.0.0-alpha01
July 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.
New Features
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-perfetto
is 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-binary
is a set of binary dependencies required for androidx.tracing:tracing-perfetto.androidx.tracing:tracing-perfetto-common
is an internal dependency of androidx.tracing:tracing-perfetto and can be used by tooling to integrate with androidx.tracing:tracing-perfetto.
Tracing Version 1.0.0
Version 1.0.0
October 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.
Version 1.0.0-rc01
October 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
.
Version 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.
Version 1.0.0-alpha01
June 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.
New Features
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.