oteljava: correctly capture exemplars. sdk, oteljava: use shared BaseMeterSuite
#660
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 accomplishes two things:
1) fixes
oteljava
backend to capture exemplars correctlyOpenTelemetry Java uses
JContext.current()
to attach trace_id/span_id to an exemplar. The context cannot be propagated seamlessly between CE IOLocal and oteljava ThreadLocal. There are more details: #202 and a possible fix #214 (waiting for CE, though).To make it work, we can propagate the context manually.
2) tests both implementations (
sdk
andoteljava
) using a sharedBaseMeterSuite
That way we can guarantee that the behavior is identical