Skip to content

add migration docs for dd-trace-py v3 #30246

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

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

erikayasuda
Copy link
Contributor

What does this PR do? What is the motivation?

This PR moves the dd-trace-py v3 migration docs from the 3.0.0 release notes to the public docs for better visibility.

Merge instructions

Merge readiness:

  • Ready for merge

For Datadog employees:

Your branch name MUST follow the <name>/<description> convention and include the forward slash (/). Without this format, your pull request will not pass CI, the GitLab pipeline will not run, and you won't get a branch preview. Getting a branch preview makes it easier for us to check any issues with your PR, such as broken links.

If your branch doesn't follow this format, rename it or create a new branch and PR.

[6/5/2025] Merge queue has been disabled on the documentation repo. If you have write access to the repo, the PR has been reviewed by a Documentation team member, and all of the required checks have passed, you can use the Squash and Merge button to merge the PR. If you don't have write access, or you need help, reach out in the #documentation channel in Slack.

Additional notes

@erikayasuda erikayasuda requested a review from a team as a code owner July 1, 2025 21:40
Copy link
Contributor

github-actions bot commented Jul 1, 2025

✅ Documentation Team Review

The documentation team has approved this pull request. Thank you for your contribution!

Comment on lines 222 to 243
* The following integrations are not tested with 3.13:
* `anthropic`
* `consul`
* `freezegun`
* `gevent`
* `google_generativeai`
* `gunicorn`
* `langchain`
* `mysqlclient`
* `opentracing`
* `psycopg`
* `psycopg2`
* `pymysql`
* `pytest`
* `pytest-bdd`
* `pytest-benchmark`
* `sanic`
* `selenium`
* `sqlite3`
* `starlette`
* `tornado`
* `vertexai`
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@brettlangdon and/or @emmettbutler Is this still up to date? Has anything changed for these?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@quinna-h would be the subject matter expert here

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know the answer off the top of my head, but the riotfile is the source of truth.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thoughts on doing this so we don't need to manually maintain this?

Suggested change
* The following integrations are not tested with 3.13:
* `anthropic`
* `consul`
* `freezegun`
* `gevent`
* `google_generativeai`
* `gunicorn`
* `langchain`
* `mysqlclient`
* `opentracing`
* `psycopg`
* `psycopg2`
* `pymysql`
* `pytest`
* `pytest-bdd`
* `pytest-benchmark`
* `sanic`
* `selenium`
* `sqlite3`
* `starlette`
* `tornado`
* `vertexai`
* [riotfile.py](https://github.com/DataDog/dd-trace-py/blob/8d3e7780d35f7f821699cc907f6e348268b6866a/riotfile.py) is the source of truth for integrations that are tested with 3.13.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should not, riotfile.py is not human/non-dev friendly, and even for devs it is a custom internal tool the effort needed to use that is too high

we have

https://github.com/DataDog/dd-trace-py/blob/main/supported_versions_table.csv

and also

https://github.com/DataDog/dd-trace-py/blob/main/supported_versions_output.json

and also

https://github.com/DataDog/dd-trace-py/blob/main/ddtrace/contrib/integration_registry/registry.yaml

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Those are for tracer versions though, right? I think we could show that info too, but python3.13 support would be separate?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, those are library versions

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

correct, the supported versions table currently only shows integration versions - not Python versions. The current source of truth for that would probably be the riotfile, though unsure if we want to state that in the public docs.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should avoid putting info in the docs that will quickly become outdated for customers. In the latest commit, I just removed this list and pointed users to dd-trace-py release notes for now.

Longer term, we should definitely pull info from the library into our docs to reduce the maintenance burden. I know there's been lots of discussion about automating the content in our Library Compatibility pages for all languages. CC @dd-mattdunnam

@brett0000FF brett0000FF self-assigned this Jul 1, 2025
Copy link
Contributor

github-actions bot commented Jul 1, 2025

Preview links (active after the build_preview check completes)

Modified Files

@brett0000FF brett0000FF added the editorial review Waiting on a more in-depth review label Jul 1, 2025
@brettlangdon
Copy link
Member

Are we able to use any of the docs tooling to pull files from dd-trace-py and embed here?

It would make keeping things like the list of available integrations up to date without needing to edit in multiple places (or... at least keeping the computer friendly source of truth in dd-trace-py which means the docs are more likely to be up to date).

Happy to defer as a follow-up, but this seems like a good example of where that type of integration would be most helpful.

* `DD_TRACE_PROPAGATION_STYLE=b3 single header` is no longer supported. Use `b3` instead.
* Dropped support for multiple Tracer instances. The global tracer instance `ddtrace.tracer` must be used.
* Removed deprecated parameters from `Tracer.configure(...)`.
* Dropped support for several deprecated tracing configurations. See “Environment Variables” section below for details.
Copy link
Contributor Author

@erikayasuda erikayasuda Jul 2, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* Dropped support for several deprecated tracing configurations. See “Environment Variables” section below for details.
* Dropped support for several deprecated tracing configurations. See “Environment Variables” section below for details.
* [`ddtrace.trace.__init__.py`](https://github.com/DataDog/dd-trace-py/blob/8d3e7780d35f7f821699cc907f6e348268b6866a/ddtrace/trace/__init__.py) is the source of truth of all public interfaces.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mabdinur Thoughts?

@brett0000FF
Copy link
Contributor

Are we able to use any of the docs tooling to pull files from dd-trace-py and embed here?

@brettlangdon - Yes, I'm a big fan of this! If there's an easy-to-parse file in dd-trace-py, we can work to pull it into our docs. We've been talking about doing this across all dd-trace libraries for our Compatibility pages.

Copy link
Contributor

@brett0000FF brett0000FF left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did a little edit and restructuring of the existing content. Let me know what you think! Note: Added a separate PR to replace outdated config examples that were leading to support tickets.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
editorial review Waiting on a more in-depth review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants