Skip to content

Commit 1a6bad3

Browse files
feat: add 0.x upgrade guide for deprecations (#3338) (#3351)
(cherry picked from commit 70fcc7b) Co-authored-by: Tahir H. Butt <[email protected]>
1 parent ef94961 commit 1a6bad3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+240
-60
lines changed

ddtrace/__init__.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
1+
import os
2+
import warnings
3+
14
from ._monkey import patch # noqa: E402
25
from ._monkey import patch_all
6+
from .internal.utils.deprecations import DDTraceDeprecationWarning
7+
from .internal.utils.formats import asbool
38
from .pin import Pin # noqa: E402
49
from .settings import _config as config # noqa: E402
510
from .span import Span # noqa: E402
@@ -24,11 +29,15 @@
2429
]
2530

2631

27-
@remove(removal_version="1.0.0")
32+
if asbool(os.getenv("DD_TRACE_RAISE_DEPRECATIONWARNING")):
33+
warnings.filterwarnings(action="error", category=DDTraceDeprecationWarning)
34+
35+
36+
@remove(category=DDTraceDeprecationWarning, removal_version="1.0.0")
2837
def install_excepthook():
2938
"""Install a hook that intercepts unhandled exception and send metrics about them."""
3039

3140

32-
@remove(removal_version="1.0.0")
41+
@remove(category=DDTraceDeprecationWarning, removal_version="1.0.0")
3342
def uninstall_excepthook():
3443
"""Uninstall the global tracer except hook."""

ddtrace/_monkey.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from typing import Callable
77
from typing import List
88

9+
from ddtrace.internal.utils.deprecation import DDTraceDeprecationWarning
910
from ddtrace.vendor.wrapt.importer import when_imported
1011

1112
from .internal.logger import get_logger
@@ -202,7 +203,7 @@ def patch(raise_errors=True, **patch_modules):
202203
)
203204

204205

205-
@remove(removal_version="1.0.0")
206+
@remove(category=DDTraceDeprecationWarning, removal_version="1.0.0")
206207
def patch_module(module, raise_errors=True):
207208
# type: (str, bool) -> bool
208209
return _patch_module(module, raise_errors=raise_errors)
@@ -227,7 +228,7 @@ def _patch_module(module, raise_errors=True):
227228
return False
228229

229230

230-
@remove(removal_version="1.0.0")
231+
@remove(category=DDTraceDeprecationWarning, removal_version="1.0.0")
231232
def get_patched_modules():
232233
# type: () -> List[str]
233234
return _get_patched_modules()

ddtrace/compat.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
from ddtrace.internal.utils.deprecation import DDTraceDeprecationWarning
2+
13
from .internal.compat import CONTEXTVARS_IS_AVAILABLE
24
from .internal.compat import NumericType
35
from .internal.compat import PY2
@@ -74,5 +76,6 @@
7476

7577
removed_module(
7678
module="ddtrace.compat",
79+
category=DDTraceDeprecationWarning,
7780
removal_version="1.0.0",
7881
)

ddtrace/constants.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from ddtrace.internal.compat import ensure_pep562
2+
from ddtrace.internal.utils.deprecation import DDTraceDeprecationWarning
23
from ddtrace.vendor import debtcollector
34

45

@@ -56,6 +57,7 @@ def __getattr__(name):
5657
if name in _DEPRECATED:
5758
debtcollector.deprecate(
5859
("%s.%s is deprecated" % (__name__, name)),
60+
category=DDTraceDeprecationWarning,
5961
removal_version="1.0.0",
6062
)
6163
return _DEPRECATED[name]

ddtrace/context.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
from typing import TYPE_CHECKING
55
from typing import Text
66

7+
from ddtrace.internal.utils.deprecation import DDTraceDeprecationWarning
8+
79
from .constants import ORIGIN_KEY
810
from .constants import SAMPLING_PRIORITY_KEY
911
from .internal.compat import NumericType
@@ -107,7 +109,11 @@ def dd_origin(self, value):
107109
return
108110
self._meta[ORIGIN_KEY] = value
109111

110-
@remove(message="Cloning contexts will no longer be required in 0.50", removal_version="1.0.0")
112+
@remove(
113+
message="Cloning contexts will no longer be required in 0.50",
114+
category=DDTraceDeprecationWarning,
115+
removal_version="1.0.0",
116+
)
111117
def clone(self):
112118
# type: () -> Context
113119
"""

ddtrace/contrib/cassandra/session.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import cassandra.cluster
77

88
from ddtrace import config
9+
from ddtrace.internal.utils.deprecations import DDTraceDeprecationWarning
910

1011
from ...constants import ANALYTICS_SAMPLE_RATE_KEY
1112
from ...constants import ERROR_MSG
@@ -278,7 +279,7 @@ def _sanitize_query(span, query):
278279
#
279280
# DEPRECATED
280281
#
281-
@remove(message="Use patching instead (see the docs).", removal_version="1.0.0")
282+
@remove(message="Use patching instead (see the docs).", category=DDTraceDeprecationWarning, removal_version="1.0.0")
282283
def get_traced_cassandra(*args, **kwargs):
283284
return _get_traced_cluster(*args, **kwargs)
284285

ddtrace/contrib/celery/task.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
from ddtrace.internal.utils.deprecations import DDTraceDeprecationWarning
2+
13
from ...vendor.debtcollector import deprecate
24
from .app import patch_app
35

@@ -10,6 +12,7 @@ def patch_task(task, pin=None):
1012
deprecate(
1113
"ddtrace.contrib.celery.patch_task is deprecated",
1214
message="Use `patch(celery=True)` or `ddtrace-run` script instead",
15+
category=DDTraceDeprecationWarning,
1316
removal_version="1.0.0",
1417
)
1518

@@ -26,6 +29,7 @@ def unpatch_task(task):
2629
deprecate(
2730
"ddtrace.contrib.celery.patch_task is deprecated",
2831
message="Use `unpatch()` instead",
32+
category=DDTraceDeprecationWarning,
2933
removal_version="1.0.0",
3034
)
3135
return task

ddtrace/contrib/flask/middleware.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from ddtrace import config
77
from ddtrace.constants import ERROR_MSG
88
from ddtrace.constants import ERROR_TYPE
9+
from ddtrace.internal.utils.deprecations import DDTraceDeprecationWarning
910

1011
from .. import trace_utils
1112
from ...ext import SpanTypes
@@ -28,7 +29,7 @@ def _normalize_resource(resource):
2829

2930

3031
class TraceMiddleware(object):
31-
@remove(message="Use patching instead (see the docs).", removal_version="1.0.0")
32+
@remove(message="Use patching instead (see the docs).", category=DDTraceDeprecationWarning, removal_version="1.0.0")
3233
def __init__(self, app, tracer, service="flask", use_signals=True, distributed_tracing=None):
3334
self.app = app
3435
log.debug("flask: initializing trace middleware")

ddtrace/contrib/mongoengine/patch.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import mongoengine
22

3+
from ddtrace.internal.utils.deprecations import DDTraceDeprecationWarning
4+
35
from ...vendor.debtcollector.removals import remove
46
from .trace import WrappedConnect
57

@@ -16,6 +18,6 @@ def unpatch():
1618
setattr(mongoengine, "connect", _connect)
1719

1820

19-
@remove(message="Use patching instead (see the docs).", removal_version="1.0.0")
21+
@remove(message="Use patching instead (see the docs).", category=DDTraceDeprecationWarning, removal_version="1.0.0")
2022
def trace_mongoengine(*args, **kwargs):
2123
return _connect

ddtrace/contrib/mysql/tracers.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
import mysql.connector
22

3+
from ddtrace.internal.utils.deprecations import DDTraceDeprecationWarning
4+
35
from ...vendor.debtcollector.removals import remove
46

57

6-
@remove(message="Use patching instead (see the docs).", removal_version="1.0.0")
8+
@remove(message="Use patching instead (see the docs).", category=DDTraceDeprecationWarning, removal_version="1.0.0")
79
def get_traced_mysql_connection(*args, **kwargs):
810
return mysql.connector.MySQLConnection

0 commit comments

Comments
 (0)