feat(responsemanager): trace full messages via links to responses #325
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.
Fixes: #318
Probably the most interesting part of this is seeing two separate messages do different things to a single response. In
TestPauseResumeViaUpdate
we see the first message linked to the start of a response and the second message get linked to theprocessUpdate
span of the same response. Then inTestCancellationQueryInProgress
we see the same thing but for anabortRequest
triggered by the second message.One possible change could be that we use this new
message
span as the parent to aresponse
if no other parent gets inserted via the reuqestqueued context-modifying hook. So allresponse
spans would have amessage
parent unless that hook is wired up by a consumer, as we do inTestIncomingQuery
and I believe we'll be doing in datatransfer or further upstream. But I think this might miss the point of keepingresponse
s as separate things that are independent of the individual messages. Themessage
span isn't going to live longer than the synchronous call here but I don't think it would matter to a consuming API if they stacked up, but it does suggest that we're looking at these things in different ways so we should probably keep them separate .. ?