getsentry / getsentry/sentry

In-app overrides should be applied server side during symbolication

Open
#108,352 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
44.8k
Forks
4.9k
Avg merge
21h 10m
Merged PRs (30d)
635

Description

### Environment

SaaS (https://sentry.io/)

### Steps to Reproduce

Sentry users debug identifiers to find an iOS app dsym: https://docs.sentry.io/platforms/native/data-management/debug-files/identifiers/

This allows SDKs to send events with just the `debug_id ` and no `code_file ` (code_file is optional here: https://develop.sentry.dev/sdk/data-model/event-payloads/debugmeta/#mach-o-images) In some cases, such as when retrieving data from MetricKit, the only information available is the debug_id, the client has no way to know the code_file, that information is in the dysm.

If you use MetricKit (or any other mechanism that sets debug_id but not code_file) the in_app categorization of frames in a stacktrace can be wrong.

### Expected Result

The in-app attribute should be correct even when capturing an event with `debug_id`.

### Actual Result

The in-app attribute is wrong, and hardcoded to true or false by the SDK.

We allow users to customize what frames are considered to be in-app but that is done by providing paths to in-app overrides. This cannot be implemented correctly on the client, because the client doesn't know the path. The in-app paths need to be shared with the symbolication pipeline to decide if a given debug_id should be considered in-app or not.

### Product Area

Issues - Source Maps

### Link

https://portola.sentry.io/issues/7266158906/events/7c5bfc390c214ff69379fd43788092a1/?environment=App%20Store&project=4506735735865344&query=is%3Aunresolved%20mechanism%3Amx_hang_diagnostic&referrer=next-event

### DSN

_No response_

### Version

_No response_

Contributor guide

Open the contributing guide

Research direction

Start by tracing the server-side symbolication pipeline and how in-app overrides are handled for iOS events containing only a debug_id; the issue names no repository files or tests. Reproduce the MetricKit-style case and verify that configured in-app paths determine frame classification after symbolication.

Written by the indexing model from the issue text.

Assessment

Tech stack
ios, python
Domain
backend, observability-sre
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.