getsentry / team-sdks

A meta repository for tracking work across all SDK teams.
0 stars 0 forks source link

Materialize Envelopes Always #34

Closed dcramer closed 2 months ago

dcramer commented 9 months ago

Description

Currently SDKs short-circuit event/envelope creation in a variety of circumstances, and in non-uniform ways.

For example, when the DSN isnt set, the JavaScript SDK will short-circuit sending:

These all create different runtime profiles, which in itself is a problem (if you believe in the mantra of having dev as close to prod as feasible), but its also not well documented for how this should work.

To enable Spotlight we need full materialization of envelopes even with then DSN isnt set. What this means is TBD - for example should profiling always run even when the DSN is disabled?) - but its clear that it at the very least means this behavior needs well defined to be implemented across various SDKs.

RFC

No response

Slack-Channel

No response

Notion Document(s)

No response

Stakeholder(s)

No response

Team(s)

No response

dcramer commented 9 months ago

Relevant example of changes required in JavaScript, excluding the transport and worker code (which are Spotlight specific): https://github.com/getsentry/sentry-javascript/compare/feat/hackweek-2023-spotlight

dcramer commented 9 months ago

Quick note: while this shouldnt matter in dev, we should figure out a path where we know if the SDK is in dev/prod. If you dont set SENTRY_DSN in prod we do not want to increase load.

HazAT commented 2 months ago

I think we can close this, Spotlight works everywhere