From db1f08f1d726247e82087b3c9be4366e7f0d6a3d Mon Sep 17 00:00:00 2001 From: Munir Date: Fri, 14 Nov 2025 13:00:11 -0500 Subject: [PATCH 1/2] chore(tornado): deprecate api and set new min version --- ddtrace/contrib/internal/tornado/patch.py | 15 ++++++++++++++- ddtrace/contrib/tornado.py | 9 +++++++++ ...e-older-tornado-versions-381d2f4e6c4c8288.yaml | 4 ++++ ...tornado-programmatic-api-5f7a8b9c1d2e3f4a.yaml | 4 ++++ 4 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 releasenotes/notes/deprecate-older-tornado-versions-381d2f4e6c4c8288.yaml create mode 100644 releasenotes/notes/deprecate-tornado-programmatic-api-5f7a8b9c1d2e3f4a.yaml diff --git a/ddtrace/contrib/internal/tornado/patch.py b/ddtrace/contrib/internal/tornado/patch.py index 86daad24135..af36da258dc 100644 --- a/ddtrace/contrib/internal/tornado/patch.py +++ b/ddtrace/contrib/internal/tornado/patch.py @@ -7,8 +7,10 @@ import ddtrace from ddtrace import config from ddtrace.contrib.internal.tornado.stack_context import context_provider +from ddtrace.internal.utils.deprecations import DDTraceDeprecationWarning from ddtrace.internal.utils.formats import asbool from ddtrace.internal.utils.wrappers import unwrap as _u +from ddtrace.vendor.debtcollector import deprecate from . import application from . import decorators @@ -26,7 +28,18 @@ def get_version(): # type: () -> str - return getattr(tornado, "version", "") + return getattr(tornado, "version", "0.0.0") + + +VERSION_TUPLE = tuple([int(x) for x in get_version().split(".")]) + +if VERSION_TUPLE < (6, 1, 0): + deprecate( + f"Tornado {VERSION_TUPLE} is deprecated", + message="Use Tornado v6.1 or later and configure tracing using environment variables and ``import ddtrace.auto`` instead.", + category=DDTraceDeprecationWarning, + removal_version="4.0.0", + ) def _supported_versions() -> Dict[str, str]: diff --git a/ddtrace/contrib/tornado.py b/ddtrace/contrib/tornado.py index dc231fce60d..f460d350886 100644 --- a/ddtrace/contrib/tornado.py +++ b/ddtrace/contrib/tornado.py @@ -100,8 +100,17 @@ def log_exception(self, typ, value, tb): from ddtrace.contrib.internal.tornado.stack_context import TracerStackContext from ddtrace.contrib.internal.tornado.stack_context import context_provider from ddtrace.contrib.internal.tornado.stack_context import run_with_trace_context +from ddtrace.internal.utils.deprecations import DDTraceDeprecationWarning +from ddtrace.vendor.debtcollector import deprecate +deprecate( + "ddtrace.contrib.tornado is deprecated", + message="Use ``import ddtrace.auto`` and ``DD_PATCH_MODULES`` to configure tracing for Tornado.", + category=DDTraceDeprecationWarning, + removal_version="4.0.0", +) + __all__ = [ "context_provider", "run_with_trace_context", diff --git a/releasenotes/notes/deprecate-older-tornado-versions-381d2f4e6c4c8288.yaml b/releasenotes/notes/deprecate-older-tornado-versions-381d2f4e6c4c8288.yaml new file mode 100644 index 00000000000..36ca9c79925 --- /dev/null +++ b/releasenotes/notes/deprecate-older-tornado-versions-381d2f4e6c4c8288.yaml @@ -0,0 +1,4 @@ +--- +deprecations: + - | + tornado: Deprecated support for Tornado versions older than v6.1. Use Tornado v6.1 or later. diff --git a/releasenotes/notes/deprecate-tornado-programmatic-api-5f7a8b9c1d2e3f4a.yaml b/releasenotes/notes/deprecate-tornado-programmatic-api-5f7a8b9c1d2e3f4a.yaml new file mode 100644 index 00000000000..c320664614a --- /dev/null +++ b/releasenotes/notes/deprecate-tornado-programmatic-api-5f7a8b9c1d2e3f4a.yaml @@ -0,0 +1,4 @@ +--- +deprecations: + - | + tornado: Deprecates programmatic tracing configuration via the ``ddtrace.contrib.tornado`` module. Configure tracing using environment variables and ``import ddtrace.auto`` instead. From 474d64110533dd67f10391a0afaf1a67b5d1caf3 Mon Sep 17 00:00:00 2001 From: Munir Date: Fri, 14 Nov 2025 13:05:54 -0500 Subject: [PATCH 2/2] linting --- ddtrace/contrib/internal/tornado/patch.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ddtrace/contrib/internal/tornado/patch.py b/ddtrace/contrib/internal/tornado/patch.py index af36da258dc..bc7fc387ec6 100644 --- a/ddtrace/contrib/internal/tornado/patch.py +++ b/ddtrace/contrib/internal/tornado/patch.py @@ -36,7 +36,8 @@ def get_version(): if VERSION_TUPLE < (6, 1, 0): deprecate( f"Tornado {VERSION_TUPLE} is deprecated", - message="Use Tornado v6.1 or later and configure tracing using environment variables and ``import ddtrace.auto`` instead.", + message="Use Tornado v6.1 or later and configure tracing using " + "environment variables and ``ddtrace-run`` or ``import ddtrace.auto`` instead.", category=DDTraceDeprecationWarning, removal_version="4.0.0", )