getsentry / sentry

Developer-first error tracking and performance monitoring
https://sentry.io
Other
38.49k stars 4.11k forks source link

Avoid exponential explosion with pre-resolved inline frames #46435

Open Swatinem opened 1 year ago

Swatinem commented 1 year ago

Environment

SaaS (https://sentry.io/)

Version

No response

Link

No response

DSN

No response

Steps to Reproduce

I wrote a detailed analysis on https://github.com/getsentry/sentry-rust/issues/470#issuecomment-1472136215.

The problem is that a native executable that does full symbolication with expansion of inline functions on the client/SDK side, and sends those expanded inline frames to the server.

For each of the already-expanded inline frames that share the same instruction addr per definition, will be expanded again when symbolicating server-side, leading to exponential grows in the number of output frames, and it is super confusing to customers as well.

Expected Result

One "physical" frame should expand to N inline frames.

Actual Result

One "physical" frame is expanded to N inline frames on the SDK, which are then again expanded to N*N inline frames after server-side symbolication.

github-actions[bot] commented 1 year ago

This issue has gone three weeks without activity. In another week, I will close it.

But! If you comment or otherwise update it, I will reset the clock, and if you label it Status: Backlog or Status: In Progress, I will leave it alone ... forever!


"A weed is but an unloved flower." ― Ella Wheeler Wilcox 🥀