Fix NoMethodError in sinatra integration when Tracer middleware is missing #1644
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.
This fixes a regression introduced in version 0.52.0 by #1628.
When a Sinatra modular application being traced is missing the
Datadog::Contrib::Sinatra::Tracer
middleware (as documented in https://docs.datadoghq.com/tracing/setup_overview/setup/ruby/#sinatra), no Sinatra request span is ever created (only a route span).Because we didn't properly account for this in
#datadog_span
, the followingNoMethodError
was triggered:I suspect this is the same issue as was reported in #1643.
Because this configuration is actually not desirable -- spans reported will be missing crucial request information, as discussed in #1643 -- I've also added a warning to hopefully steer users in the right direction.