Skip to content

Add <profileable> for release startup profiling - #2328

Closed
JohnathanWhite wants to merge 14 commits into
bitpay:release/14.46from
JohnathanWhite:aperture/startup-instrumentation
Closed

Add <profileable> for release startup profiling#2328
JohnathanWhite wants to merge 14 commits into
bitpay:release/14.46from
JohnathanWhite:aperture/startup-instrumentation

Conversation

@JohnathanWhite

@JohnathanWhite JohnathanWhite commented Aug 21, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

JohnathanWhite and others added 14 commits August 16, 2026 10:33
No consumer Android device ships 32-bit-only x86 (the Atom phone line
ended in 2016) and Play has required 64-bit since Aug 2019, so the x86
slice is dead weight in every AAB. x86_64 stays for ChromeOS, Intel-Mac
emulators, and Play pre-launch test devices.

abiFilters lives in defaultConfig because AGP unions buildType
ndk.abiFilters with it — a release block can only add ABIs, not remove
them.
Lets a shell-initiated profiler (Perfetto / am profile) read the app's own
atrace sections on a release build, without making the app debuggable. It is
release-safe and has zero steady-state runtime cost — the tag only matters
while a trace is actively recording. minSdk is 30, so it is fully supported.

On the New Architecture, React Native emits its androidx.tracing sections in
release builds, so this exposes framework startup slices (mount items, event
emitters, Fabric commits) to a system trace with no other code change.
@JohnathanWhite
JohnathanWhite deleted the aperture/startup-instrumentation branch August 26, 2026 20:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants