As of now the monolith always assumes that any kind of profile with platform="android" is in legacy Android format, even if the profile chunk carries the version="2" descriptor.
In an effort to clean this up amongst the whole pipeline, we decided to introduce a version="2.android-trace", to describe the legacy payload format. This will be emitted by relay, but as it's rollout is not in sync with the monolith, we need to properly implement fallback handling as well.
- (a) Core changes
- Extend the probing beyond checking for platform, to also check for new version
- Put safeguards around code which assumes legacy profiles when platform=android (e.g. here)
- (b) Deobfuscation
- Extend pipeline to also run for samples v2 for Android
As of now the monolith always assumes that any kind of profile with
platform="android"is in legacy Android format, even if the profile chunk carries theversion="2"descriptor.In an effort to clean this up amongst the whole pipeline, we decided to introduce a
version="2.android-trace", to describe the legacy payload format. This will be emitted by relay, but as it's rollout is not in sync with the monolith, we need to properly implement fallback handling as well.