Skip to content
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

fix(opentelemetry): support attribute argument in TracerProvider.get_tracer() (backport #9941 to 2.9) #9963

Merged
merged 1 commit into from
Jul 26, 2024

Conversation

mabdinur
Copy link
Contributor

@mabdinur mabdinur commented Jul 26, 2024

Resolves incompatibility introduced by:
open-telemetry/opentelemetry-python@d4e13bd.

In opentelemetry-api==1.26.0,
ddtrace.opentelemetry.TracerProvider.get_tracer(...) gets called with attributes argument
(here). This optional argument is not currently supported in ddtrace and this raises a TypeError when ddtrace-opentelemetry support is enabled.

This PR resolves this incompatibility by providing two implementations for ddtrace.opentelemetry.TracerProvider.get_tracer, one for opentelemetry-api>=1.26 and one for opentelemetry<1.26.

Checklist

  • PR author has checked that all the criteria below are met
  • The PR description includes an overview of the change
  • The PR description articulates the motivation for the change
  • The change includes tests OR the PR description describes a testing strategy
  • The PR description notes risks associated with the change, if any
  • Newly-added code is easy to change
  • The change follows the library release note guidelines
  • The change includes or references documentation updates if necessary
  • Backport labels are set (if applicable)

Reviewer Checklist

  • Reviewer has checked that all the criteria below are met
  • Title is accurate
  • All changes are related to the pull request's stated goal
  • Avoids breaking API changes
  • Testing strategy adequately addresses listed risks
  • Newly-added code is easy to change
  • Release note makes sense to a user of the library
  • If necessary, author has acknowledged and discussed the performance implications of this PR as reported in the benchmarks PR comment
  • Backport labels are set in a manner that is consistent with the release branch maintenance policy

…tracer() (#9941)

Resolves incompatibility introduced by:
open-telemetry/opentelemetry-python@d4e13bd.

In `opentelemetry-api==1.26.0`,
`ddtrace.opentelemetry.TracerProvider.get_tracer(...)` gets called with
attributes argument
([here](https://github.com/open-telemetry/opentelemetry-python/blob/v1.26.0/opentelemetry-api/src/opentelemetry/trace/__init__.py#L519)).
This optional argument is not currently supported in ddtrace and this
raises a TypeError when ddtrace-opentelemetry support is enabled.

This PR resolves this incompatibility by providing two implementations
for `ddtrace.opentelemetry.TracerProvider.get_tracer`, one for
opentelemetry-api>=1.26 and one for opentelemetry<1.26.

- [x] PR author has checked that all the criteria below are met
- The PR description includes an overview of the change
- The PR description articulates the motivation for the change
- The change includes tests OR the PR description describes a testing
strategy
- The PR description notes risks associated with the change, if any
- Newly-added code is easy to change
- The change follows the [library release note
guidelines](https://ddtrace.readthedocs.io/en/stable/releasenotes.html)
- The change includes or references documentation updates if necessary
- Backport labels are set (if
[applicable](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting))

- [x] Reviewer has checked that all the criteria below are met
- Title is accurate
- All changes are related to the pull request's stated goal
- Avoids breaking
[API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces)
changes
- Testing strategy adequately addresses listed risks
- Newly-added code is easy to change
- Release note makes sense to a user of the library
- If necessary, author has acknowledged and discussed the performance
implications of this PR as reported in the benchmarks PR comment
- Backport labels are set in a manner that is consistent with the
[release branch maintenance
policy](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)
@mabdinur mabdinur requested review from a team as code owners July 26, 2024 20:53
@mabdinur mabdinur enabled auto-merge (squash) July 26, 2024 20:56
@mabdinur mabdinur changed the title fix(opentelemetry): support attribute argument in TracerProvider.get_tracer() (backport #9941 to 2.10) fix(opentelemetry): support attribute argument in TracerProvider.get_tracer() (backport #9941 to 2.9) Jul 26, 2024
@datadog-dd-trace-py-rkomorn
Copy link

Datadog Report

Branch report: backort-9941-2_9
Commit report: b9b9801
Test service: dd-trace-py

✅ 0 Failed, 174253 Passed, 1486 Skipped, 11h 21m 37.27s Total duration (1m 54.67s time saved)

@codecov-commenter
Copy link

Codecov Report

Attention: Patch coverage is 0% with 8 lines in your changes missing coverage. Please review.

Project coverage is 10.11%. Comparing base (ed53e56) to head (b9b9801).

Files Patch % Lines
ddtrace/opentelemetry/_trace.py 0.00% 8 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##              2.9    #9963       +/-   ##
===========================================
- Coverage   71.47%   10.11%   -61.36%     
===========================================
  Files        1289     1258       -31     
  Lines      122525   120703     -1822     
===========================================
- Hits        87571    12215    -75356     
- Misses      34954   108488    +73534     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@mabdinur mabdinur merged commit b152195 into 2.9 Jul 26, 2024
164 checks passed
@mabdinur mabdinur deleted the backort-9941-2_9 branch July 26, 2024 21:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants