Use pointer when passing TransformContext around or calling into #44541
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 PR changes only the
ottlspan.TransformContext, if gets approved will file separate PRs for all contexts.This is breaking change for the API (not for final users), but one that is justified because of the latency and memory improvements. It is impossible (or almost impossible) to not break backwards compatibility unless duplicate a lot of code.
Comparing existing benchmarks:
Before:
After:
Comparing benchmarks that do not need to allocate the data again every iteration and does not change the data to measure only the OTTL overhead:
Before:
After:
For the current performance benchmarks which are not allocating new TransformContext, here only benefit is because of the object copy part:
Before:
After: