Skip to content

feat(chunk): Add version dispatch for Android trace profiles - #672

Merged
0xadam-brown merged 1 commit into
mainfrom
feat/v2-android-trace-updates
Jul 6, 2026
Merged

feat(chunk): Add version dispatch for Android trace profiles#672
0xadam-brown merged 1 commit into
mainfrom
feat/v2-android-trace-updates

Conversation

@0xadam-brown

@0xadam-brown 0xadam-brown commented Jul 3, 2026

Copy link
Copy Markdown
Member

Relay will soon tag Android trace profiles with version 2.android-trace instead of omitting the version field. I've updated UnmarshalJSON so that any profiles with the new version will continue to be routed to AndroidChunk. The existing no-version path has been preserved for backward compatibility.

I've also added a Version field to AndroidChunk so the version string survives JSON round-trips through the read path (e.g. getRawChunk). Legacy chunks without a version are unaffected thanks to omitempty.

Legal Boilerplate

Look, I get it. The entity doing business as "Sentry" was incorporated in the State of Delaware in 2015 as Functional Software, Inc. and is gonna need some rights from me in order to utilize my contributions in this here PR. So here's the deal: I retain all rights, title and interest in and to my contributions, and by keeping this boilerplate intact I confirm that Sentry can use, modify, copy, and redistribute my contributions, under Sentry's choice of terms.

#skip-changelog

Relay will soon tag legacy Android trace profiles with version "2.android-trace" instead of omitting the version field. Commit updates UnmarshalJSON to route this new version to AndroidChunk rather than misrouting it to SampleChunk via the default case.

Adds a Version field to AndroidChunk so the version string survives JSON round-trips through the read path (e.g. getRawChunk). Legacy chunks without a version are unaffected thanks to omitempty.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@0xadam-brown
0xadam-brown requested a review from a team as a code owner July 3, 2026 07:53
@0xadam-brown
0xadam-brown requested a review from markushi July 3, 2026 07:53

@markushi markushi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@0xadam-brown
0xadam-brown merged commit a1a4066 into main Jul 6, 2026
28 checks passed
@0xadam-brown
0xadam-brown deleted the feat/v2-android-trace-updates branch July 6, 2026 07:13
markushi added a commit to getsentry/sentry that referenced this pull request Jul 13, 2026
The Android SDK can now emit **sample v2** profiles in addition to the
legacy android trace format. This wires the profiling pipeline to be
able to process both.

The whole pipeline previously always assumed that `platform="android"`
provided a profile in the Android trace format - regardless if
`version="2"` was set or not.

`platform: "java"` profiles (aka profiles from backend services) are
intentionally not deobfuscated for now, but support could be easily
added.

Also removes `get_data_category`, dead code since #81481.

> [!NOTE]
> `vroom` and `vroomrs` need to be updated as well to support the sample
v2 Android format.
> See getsentry/vroom#672 (was automatically
deployed earlier this week)
> and getsentry/vroomrs#93 (landed in `0.1.22`,
which is bumped in this PR as well)

### Testing

- Unit tests for the classifiers, frame conversion and the sample v2
merge/stack-remap (inline expansion + native passthrough).
- Symbolicator integration tests for sample v2 (basic + inline) plus a
full `process_profile_task` run.

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
0xadam-brown added a commit to getsentry/sentry-java that referenced this pull request Jul 24, 2026
Commit updates the platform used with ANR profiles from Java to Android so that we can properly bill ANR profiling under UI Profile Hours rather than Continuous Profile Hours.

Depends on the updates made in [Relay #6183](getsentry/relay#6183), [getsentry #118849](getsentry/sentry#118849), [vroomrs #93](getsentry/vroomrs#93), and [vroom #672](getsentry/vroom#672).
0xadam-brown added a commit to getsentry/sentry-java that referenced this pull request Jul 28, 2026
Commit updates the platform used with ANR profiles from Java to Android so that we can properly bill ANR profiling under UI Profile Hours rather than Continuous Profile Hours.

Depends on the updates made in [Relay #6183](getsentry/relay#6183), [getsentry #118849](getsentry/sentry#118849), [vroomrs #93](getsentry/vroomrs#93), and [vroom #672](getsentry/vroom#672).

# Conflicts:
#	CHANGELOG.md
0xadam-brown added a commit to getsentry/sentry-java that referenced this pull request Jul 28, 2026
Commit updates the platform used with ANR profiles from Java to Android so that we can properly bill ANR profiling under UI Profile Hours rather than Continuous Profile Hours.

Depends on the updates made in [Relay #6183](getsentry/relay#6183), [getsentry #118849](getsentry/sentry#118849), [vroomrs #93](getsentry/vroomrs#93), and [vroom #672](getsentry/vroom#672).

# Conflicts:
#	CHANGELOG.md
0xadam-brown added a commit to getsentry/sentry-java that referenced this pull request Jul 29, 2026
#5836)

Commit updates the platform used with ANR profiles from Java to Android so that we can properly bill ANR profiling under UI Profile Hours rather than Continuous Profile Hours.

Depends on the updates made in [Relay #6183](getsentry/relay#6183), [getsentry #118849](getsentry/sentry#118849), [vroomrs #93](getsentry/vroomrs#93), and [vroom #672](getsentry/vroom#672).

Co-authored-by: Markus Hintersteiner <markus.hintersteiner@sentry.io>
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.

3 participants