Skip to content

Commit 70d3097

Browse files
author
Emanuele Palazzetti
committed
[core] add deprecation warning for DATADOG_ environment variables
1 parent 6d378c4 commit 70d3097

File tree

2 files changed

+17
-7
lines changed

2 files changed

+17
-7
lines changed

ddtrace/utils/formats.py

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

3+
from .deprecation import deprecation
4+
35

46
def get_env(integration, variable, default=None):
57
"""Retrieves environment variables value for the given integration. It must be used
@@ -15,9 +17,12 @@ def get_env(integration, variable, default=None):
1517
legacy_env = 'DATADOG_{}'.format(key)
1618
env = 'DD_{}'.format(key)
1719

18-
# [Backward compatibility]: `DATADOG_` variables should be supported;
19-
# add a deprecation warning later if it's used, so that we can drop the key
20-
# in newer releases.
20+
# [Backward compatibility]: `DATADOG_` variables are deprecated
21+
deprecation(
22+
name='DATADOG_',
23+
message='Use `DD_` prefix instead',
24+
version='1.0.0',
25+
)
2126
value = os.getenv(env) or os.getenv(legacy_env)
2227
return value if value else default
2328

tests/test_utils.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,15 @@ def test_get_env_found(self):
3737

3838
def test_get_env_found_legacy(self):
3939
# ensure `get_env` returns a value if legacy environment variables
40-
# are used
41-
os.environ['DATADOG_REQUESTS_DISTRIBUTED_TRACING'] = '1'
42-
value = get_env('requests', 'distributed_tracing')
43-
eq_(value, '1')
40+
# are used, raising a Deprecation warning
41+
with warnings.catch_warnings(record=True) as w:
42+
warnings.simplefilter('always')
43+
os.environ['DATADOG_REQUESTS_DISTRIBUTED_TRACING'] = '1'
44+
value = get_env('requests', 'distributed_tracing')
45+
eq_(value, '1')
46+
ok_(len(w) == 1)
47+
ok_(issubclass(w[-1].category, DeprecationWarning))
48+
ok_('Use `DD_` prefix instead' in str(w[-1].message))
4449

4550
def test_get_env_key_priority(self):
4651
# ensure `get_env` use `DD_` with highest priority

0 commit comments

Comments
 (0)