diff --git a/pyproject.toml b/pyproject.toml index 6850b61f2a5e41..79e130e3d1f727 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -97,7 +97,6 @@ module = [ "confluent_kafka.*", "csp.middleware.*", "cssselect.*", - "datadog.*", "django_zero_downtime_migrations.backends.postgres.schema.*", "docker.*", "email_reply_parser.*", diff --git a/requirements-base.txt b/requirements-base.txt index 8358bdbe6d69b0..848151ded59d6e 100644 --- a/requirements-base.txt +++ b/requirements-base.txt @@ -9,7 +9,7 @@ click>=8.0.4 confluent-kafka>=2.1.1 croniter>=1.3.10 cssselect>=1.0.3 -datadog>=0.29.3 +datadog>=0.46.0 django-crispy-forms>=1.14.0 django-csp>=3.7 django-pg-zero-downtime-migrations>=0.13 diff --git a/requirements-dev-frozen.txt b/requirements-dev-frozen.txt index 761820e679f255..58c91166f0461b 100644 --- a/requirements-dev-frozen.txt +++ b/requirements-dev-frozen.txt @@ -35,8 +35,7 @@ croniter==1.3.10 cryptography==39.0.1 cssselect==1.0.3 cssutils==2.4.0 -datadog==0.29.3 -decorator==5.1.1 +datadog==0.46.0 dictpath==0.1.3 distlib==0.3.4 django==3.2.20 diff --git a/requirements-frozen.txt b/requirements-frozen.txt index 163096463ead32..76a8e645678f99 100644 --- a/requirements-frozen.txt +++ b/requirements-frozen.txt @@ -30,8 +30,7 @@ croniter==1.3.10 cryptography==39.0.1 cssselect==1.0.3 cssutils==2.4.0 -datadog==0.29.3 -decorator==5.1.1 +datadog==0.46.0 django==3.2.20 django-crispy-forms==1.14.0 django-csp==3.7 diff --git a/src/sentry/metrics/datadog.py b/src/sentry/metrics/datadog.py index fad51d14056a80..9b82bd1091aa08 100644 --- a/src/sentry/metrics/datadog.py +++ b/src/sentry/metrics/datadog.py @@ -2,7 +2,8 @@ from typing import Any, Optional, Union -from datadog import ThreadStats, initialize +from datadog import initialize +from datadog.threadstats.base import ThreadStats from datadog.util.hostname import get_hostname from sentry.utils.cache import memoize @@ -17,7 +18,7 @@ def __init__(self, prefix: Optional[str] = None, **kwargs: Any) -> None: if "host" in kwargs: self.host = kwargs.pop("host") else: - self.host = get_hostname() + self.host = get_hostname(hostname_from_config=True) initialize(**kwargs) super().__init__(prefix=prefix) diff --git a/src/sentry/metrics/dogstatsd.py b/src/sentry/metrics/dogstatsd.py index 917e6ee2f02cc0..822d0f78b23aec 100644 --- a/src/sentry/metrics/dogstatsd.py +++ b/src/sentry/metrics/dogstatsd.py @@ -1,6 +1,7 @@ from typing import Any, Optional, Union -from datadog import initialize, statsd +from datadog import initialize +from datadog.dogstatsd.base import statsd from .base import MetricsBackend, Tags diff --git a/tests/sentry/metrics/test_datadog.py b/tests/sentry/metrics/test_datadog.py index 0cad6e8e7fa6be..ec9035d12478cf 100644 --- a/tests/sentry/metrics/test_datadog.py +++ b/tests/sentry/metrics/test_datadog.py @@ -14,19 +14,31 @@ def setUp(self): def test_incr(self, mock_incr): self.backend.incr("foo", instance="bar") mock_incr.assert_called_once_with( - "sentrytest.foo", 1, sample_rate=1, tags=["instance:bar"], host=get_hostname() + "sentrytest.foo", + 1, + sample_rate=1, + tags=["instance:bar"], + host=get_hostname(hostname_from_config=True), ) @patch("datadog.threadstats.base.ThreadStats.timing") def test_timing(self, mock_timing): self.backend.timing("foo", 30, instance="bar") mock_timing.assert_called_once_with( - "sentrytest.foo", 30, sample_rate=1, tags=["instance:bar"], host=get_hostname() + "sentrytest.foo", + 30, + sample_rate=1, + tags=["instance:bar"], + host=get_hostname(hostname_from_config=True), ) @patch("datadog.threadstats.base.ThreadStats.gauge") def test_gauge(self, mock_gauge): self.backend.gauge("foo", 5, instance="bar") mock_gauge.assert_called_once_with( - "sentrytest.foo", 5, sample_rate=1, tags=["instance:bar"], host=get_hostname() + "sentrytest.foo", + 5, + sample_rate=1, + tags=["instance:bar"], + host=get_hostname(hostname_from_config=True), )