Skip to content

Commit e663f0a

Browse files
committed
Support environment variable for sample rate
1 parent 797f647 commit e663f0a

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

ddtrace/settings/integration.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ def __init__(self, global_config, name, *args, **kwargs):
4444
if analytics_enabled_env is not None:
4545
analytics_enabled_env = asbool(analytics_enabled_env)
4646
self.setdefault('analytics_enabled', analytics_enabled_env)
47+
self.setdefault('analytics_sample_rate', float(get_env(name, 'analytics_sample_rate', 1.0)))
4748

4849
def __deepcopy__(self, memodict=None):
4950
new = IntegrationConfig(self.global_config, deepcopy(dict(self)))

tests/unit/test_settings.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,11 +127,17 @@ def test_environment_analytics_enabled(self):
127127
with self.override_env(dict(DD_FOO_ANALYTICS_ENABLED='True')):
128128
config = Config()
129129
self.assertTrue(config.foo.analytics_enabled)
130+
self.assertEqual(config.foo.analytics_sample_rate, 1.0)
130131

131132
with self.override_env(dict(DD_FOO_ANALYTICS_ENABLED='False')):
132133
config = Config()
133134
self.assertFalse(config.foo.analytics_enabled)
134135

136+
with self.override_env(dict(DD_FOO_ANALYTICS_ENABLED='True', DD_FOO_ANALYTICS_SAMPLE_RATE='0.5')):
137+
config = Config()
138+
self.assertTrue(config.foo.analytics_enabled)
139+
self.assertEqual(config.foo.analytics_sample_rate, 0.5)
140+
135141
def test_analytics_enabled_attribute(self):
136142
"""" Confirm environment variable and kwargs are handled properly """
137143
ic = IntegrationConfig(self.config, 'foo', analytics_enabled=True)

0 commit comments

Comments
 (0)