[Honeycomb] Set active context before async requests #1
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.
Context on missing context
Since Zone.js does not support async / await, the OpenTelemetry active context gets reset after an async / await block is executed. To get the
complex_flow_with_two_requests
span to be the parent span to both request spans, we'll have to manually set the active context for them to attach to the parent span. For manual spans, you can pass thectx
directly to the span, but since the request spans are being generated by auto-instrumentation, we have to set the context we want to the active context so that the spans generated by the auto-instrumentation pick up the correct context.Changes
complex_flow_with_two_requests
has been createdcontext.with
callback functions with the context set explicitly ascomplex_flow_with_two_requests
Testing
Tested in Jaeger and now we can see that both request spans are children of the
complex_flow_with_two_requests
span