Skip to content

Commit 3cf3342

Browse files
XG-xinmabdinuremmettbutler
authored
chore(tracing): deprecate ddtrace.settings (#13057)
Mark objects in ddtrace.settings as deprecated. This is related to APMAPI-1245. ## Checklist - [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)) ## Reviewer Checklist - [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) --------- Co-authored-by: Munir Abdinur <munir.abdinur@datadoghq.com> Co-authored-by: Emmett Butler <723615+emmettbutler@users.noreply.github.com>
1 parent 819c74c commit 3cf3342

File tree

13 files changed

+117
-24
lines changed

13 files changed

+117
-24
lines changed

ddtrace/contrib/internal/trace_utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242

4343

4444
if TYPE_CHECKING: # pragma: no cover
45-
from ddtrace.settings import IntegrationConfig # noqa:F401
45+
from ddtrace.settings.integration import IntegrationConfig # noqa:F401
4646
from ddtrace.trace import Span # noqa:F401
4747
from ddtrace.trace import Tracer # noqa:F401
4848

ddtrace/contrib/internal/trace_utils_base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
from ddtrace.internal.utils.http import normalize_header_name
1313
from ddtrace.internal.utils.http import redact_url
1414
from ddtrace.internal.utils.http import strip_query_string
15-
from ddtrace.settings import IntegrationConfig
1615
from ddtrace.settings._config import config
1716
from ddtrace.settings.asm import config as asm_config
17+
from ddtrace.settings.integration import IntegrationConfig
1818

1919

2020
log = get_logger(__name__)

ddtrace/internal/ci_visibility/recorder.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,8 @@
6969
from ddtrace.internal.test_visibility._atr_mixins import AutoTestRetriesSettings
7070
from ddtrace.internal.test_visibility._library_capabilities import LibraryCapabilities
7171
from ddtrace.internal.utils.formats import asbool
72-
from ddtrace.settings import IntegrationConfig
7372
from ddtrace.settings._agent import config as agent_config
73+
from ddtrace.settings.integration import IntegrationConfig
7474
from ddtrace.trace import Tracer
7575

7676

ddtrace/llmobs/_integrations/base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
from ddtrace.llmobs._constants import INTEGRATION
1414
from ddtrace.llmobs._constants import PROXY_REQUEST
1515
from ddtrace.llmobs._llmobs import LLMObs
16-
from ddtrace.settings import IntegrationConfig
16+
from ddtrace.settings.integration import IntegrationConfig
1717
from ddtrace.trace import Pin
1818
from ddtrace.trace import Span
1919

ddtrace/opentracer/tracer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
from ddtrace.internal.constants import SPAN_API_OPENTRACING
1717
from ddtrace.internal.utils.config import get_application_name
1818
from ddtrace.internal.writer import AgentWriterInterface
19-
from ddtrace.settings import ConfigException
19+
from ddtrace.settings.exceptions import ConfigException
2020
from ddtrace.trace import Context as DatadogContext # noqa:F401
2121
from ddtrace.trace import Span as DatadogSpan
2222
from ddtrace.trace import Tracer as DatadogTracer

ddtrace/settings/__init__.py

Lines changed: 36 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,36 @@
1-
from .._hooks import Hooks
2-
from .exceptions import ConfigException
3-
from .http import HttpConfig
4-
from .integration import IntegrationConfig
5-
6-
7-
__all__ = [
8-
"ConfigException",
9-
"HttpConfig",
10-
"Hooks",
11-
"IntegrationConfig",
12-
]
1+
from ddtrace.internal.utils.deprecations import DDTraceDeprecationWarning
2+
3+
from ..vendor.debtcollector import deprecate
4+
5+
6+
def __getattr__(name):
7+
if name in set(
8+
[
9+
"ConfigException",
10+
"HttpConfig",
11+
"Hooks",
12+
"IntegrationConfig",
13+
]
14+
):
15+
deprecate(
16+
("%s.%s is deprecated" % (__name__, name)),
17+
removal_version="4.0.0", # TODO: update this to the correct version
18+
category=DDTraceDeprecationWarning,
19+
)
20+
if name == "ConfigException":
21+
from ddtrace.settings.exceptions import ConfigException
22+
23+
return ConfigException
24+
elif name == "HttpConfig":
25+
from .http import HttpConfig
26+
27+
return HttpConfig
28+
elif name == "Hooks":
29+
from .._hooks import Hooks
30+
31+
return Hooks
32+
elif name == "IntegrationConfig":
33+
from .integration import IntegrationConfig
34+
35+
return IntegrationConfig
36+
raise AttributeError("'%s' has no attribute '%s'" % (__name__, name))
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
deprecations:
3+
- |
4+
tracing: ``ddtrace.settings.__init__`` imports are deprecated and will be removed in version 4.0.0.

tests/contrib/httplib/test_httplib.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -396,7 +396,7 @@ def test_httplib_request_and_response_headers(self):
396396

397397
# Enabled when configured
398398
with self.override_config("httplib", {}):
399-
from ddtrace.settings import IntegrationConfig # noqa:F401
399+
from ddtrace.settings.integration import IntegrationConfig # noqa:F401
400400

401401
integration_config = config.httplib # type: IntegrationConfig
402402
integration_config.http.trace_headers(["my-header", "access-control-allow-origin"])

tests/opentracer/core/test_tracer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
from ddtrace.opentracer import set_global_tracer
1515
from ddtrace.opentracer.span_context import SpanContext
1616
from ddtrace.propagation.http import HTTP_HEADER_TRACE_ID
17-
from ddtrace.settings import ConfigException
17+
from ddtrace.settings.exceptions import ConfigException
1818

1919

2020
class TestTracerConfig(object):

tests/tracer/test_global_config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
import pytest
55

66
from ddtrace import config as global_config
7-
from ddtrace.settings import IntegrationConfig
87
from ddtrace.settings._config import Config
8+
from ddtrace.settings.integration import IntegrationConfig
99

1010
from ..utils import DummyTracer
1111
from ..utils import override_env

0 commit comments

Comments
 (0)