Allow OTEL instrumenter to work even with no DSN.#3898
Open
jwhitaker-gridcog wants to merge 2 commits intogetsentry:masterfrom
Open
Allow OTEL instrumenter to work even with no DSN.#3898jwhitaker-gridcog wants to merge 2 commits intogetsentry:masterfrom
jwhitaker-gridcog wants to merge 2 commits intogetsentry:masterfrom
Conversation
Context: we are writing tests for our Sentry integration itself,
setting up a client like
```py
events = []
c = sentry_sdk.Client(dsn=None, instrumenter='otel', transport=events.append)
```
, and verifying that events contains spans from OpenTelemetry such as
```py
with tracer.start_as_current_span('fn'):
raise Exception('boo')
assert events = [...]
```
This currently doesn't work because the Sentry OTEL integration
has some hacks poking into the client and hard-exiting if DSN is None.
I conjecture this can be removed - the check-DSN-to-avoid-sentry-otel-loops
logic still works even without the DSN check in on_start().
There was a problem hiding this comment.
Bug: DSN Parsing Error Causes Application Crash
Removing the DSN validation try/except block in on_start() means malformed (non-None) DSN strings are no longer handled gracefully. This causes _is_sentry_span() to raise an unhandled exception when attempting to parse the DSN, potentially crashing the application.
sentry_sdk/integrations/opentelemetry/span_processor.py#L111-L125
sentry-python/sentry_sdk/integrations/opentelemetry/span_processor.py
Lines 111 to 125 in dde625f
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Allow OTEL instrumenter to work even with no DSN.
Context: we are writing tests for our Sentry integration itself, setting up a client like
, and verifying that events contains spans from OpenTelemetry such as
This currently doesn't work because the Sentry OTEL integration has some hacks poking into the client and hard-returning if DSN is None.
I conjecture the hard-return can be removed - the check-DSN-to-avoid-sentry-otel-loops logic still works even without the DSN check in on_start().