Skip to content

Conversation

@lobsterkatie
Copy link
Member

Currently, there are situations in which a trace ends up looking not like this (as it should):

image

but instead looks like this:

image

This happens because we currently create the outgoing tracing headers based not on the span representing the outgoing request but on whatever span is on the scope, which is most often the transaction itself. There are situations in which this is necessary (if there is no child span to tie to*), but in situations where it's not, we should be correctly associating child transactions with their parent spans, not their ancestor transactions.

*It's a separate question whether, in the one place there isn't a span (here, the rq integration), there should be.

Copy link
Member

@untitaker untitaker left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add a docstring to iter_trace_propagation_headers explaining in which situations one would pass in a span object explicitly.

@lobsterkatie lobsterkatie merged commit 51987c5 into master Feb 27, 2021
@lobsterkatie lobsterkatie deleted the kmclb-use-correct-parent-span-for-http-headers branch February 27, 2021 02:17
alexmv added a commit to CAVaccineInventory/vial that referenced this pull request Mar 5, 2021
Interestingly, sentry has just hit 1.0.0!  None of the nominally
breaking changes[1] look relevant to our minimal usage:

> - Feat: Moved auto_session_tracking experimental flag to a proper
> option and removed session_mode, hence enabling release health by
> default getsentry/sentry-python#994
>
> - Fixed Django transaction name by setting the name to
> request.path_info rather than request.path
>
> - Fix for tracing by getting HTTP headers from span rather than
> transaction when possible getsentry/sentry-python#1035
>
> - Fix for Flask transactions missing request body in non errored
> transactions getsentry/sentry-python#1034
>
> - Fix for honoring the X-Forwarded-For header getsentry/sentry-python#1037
>
> - Fix for worker that logs data dropping of events with level error
> getsentry/sentry-python#1032

[1] https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants