-
Notifications
You must be signed in to change notification settings - Fork 440
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
opentelemetry: embed no-op structs #2284
Conversation
The tests should pass now. |
BenchmarksBenchmark execution time: 2023-11-10 17:50:37 Comparing candidate commit 9d1bda3 in PR branch Found 0 performance improvements and 2 performance regressions! Performance is the same for 37 metrics, 2 unstable metrics. scenario:BenchmarkOTelApiWithCustomTags/otel_api-24
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall looks good to me! Maybe we should add a note to the go docs for users of the otel api that if they upgrade their underlying OTEL dependencies for new features before we've built support they will be a no-op?
The release is out: https://github.com/open-telemetry/opentelemetry-go/releases |
d1e0716
to
9d1bda3
Compare
Tests are now passing because DataDog/system-tests#1779 was merged 😄 |
What does this PR do?
Embeds the opentelemetry-go
noop
structs into the DD OTel API. AIT-8692Motivation
This is a build requirement for the OTel API after open-telemetry/opentelemetry-go#4620, and our code fails to compile if we upgrade to the latest main without this fix.
See their package docs for more details.
We had three options that would have 3 different consequences when the upstream makes a breaking change:
embedded.TracerProvider
- will break at compile-timetrace.TracerProvider
- will build but panicnoop.TracerProvider
- will build and any missing functions will be a no-opThe
noop.TracerProvider
sounded like the safest option for us, as it will give us time to support new functions in the API without needing to rush.Reviewer's Checklist
For Datadog employees:
@DataDog/security-design-and-guidance
.Unsure? Have a question? Request a review!