feat: Added opentelemetry bridge instrumentation that adds a context manager, and processor to handle synthesizing segments and time slice metrics. #2906
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.
Description
This PR creates a basic otel trace provider with a span processor and context manager. I also wired up the creation of timeslice metrics for internal and http external segments.
I updated the existing context to include the necessary get/set/delete Value methods needed for otel. We could inherit the root context and add just for this project. The otel context manager properly runs the necessary calls in our context manager. I added a span processor to assign the synthesized segment/transaction to segment, then in the
setValue
we read it and assign to new context.I have a todo to reconcile any span attributes on span end but not sure the best way to approach just yet. Currently the only thing we do on end is update the segment duration with the duration from span for consistency. During my testing I noticed we are missing some core attributes but again, can solve later. This PR is intended to unleash the rest of the work and is far from feature complete.
How to Test
Related Issues
Closes #2660
Closes #2654