feat: otel compatible distributed tracing#496
Merged
Conversation
84c5773 to
915ea54
Compare
44c9b91 to
87070ea
Compare
87070ea to
48d105f
Compare
Abhijeet Prasad (AbhiPrasad)
left a comment
Member
There was a problem hiding this comment.
I'm happy with this public API. Mind writing a spec doc for this so we can also be clear about the behavior difference between py/js and the otel powered sdks?
a1f514c to
c53efc2
Compare
Contributor
Author
|
Abhijeet Prasad (@AbhiPrasad) sweet! I've been working on this spec in tandem with this PR: braintrustdata/braintrust-spec#27 I just updated it to add test cases for encoding and size limits |
implements the `distributed-tracing` sdk spec - default span/trace id gen to use otel-friendly 16/8 byte hex IDs - new inject/extract tools for w3c headers
c53efc2 to
d28a841
Compare
Stephen Belanger (Qard)
approved these changes
Jun 16, 2026
Abhijeet Prasad (AbhiPrasad)
approved these changes
Jun 16, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
OLD WAY: https://www.braintrust.dev/docs/instrument/advanced-tracing#trace-distributed-systems
NOTE: the "old way" is still supported and backwards-compatible. Native SDKs can continue to link to each other in the manner, even if one is upgraded and the other is not. However if users with to link to otel sdks, they will have to change their code to use the new apis.
NEW WAY:
Other notes
root_span_idfield essentially becoming the trace id rather than the id of the root span (i.e.root_span_id!=rootSpan.id). This sucks, but it's already the case for otel sdks and py otel compat mode. So at least we're consistent.Examples