diff --git a/cms/envs/common.py b/cms/envs/common.py index 0e3caa4979..5857fa6ba4 100644 --- a/cms/envs/common.py +++ b/cms/envs/common.py @@ -963,7 +963,7 @@ INSTALLED_APPS = [ 'eventtracking.django.apps.EventTrackingConfig', # Monitoring - 'openedx.core.djangoapps.datadog', + 'openedx.core.djangoapps.datadog.apps.DatadogConfig', # For asset pipelining 'edxmako.apps.EdxMakoConfig', diff --git a/lms/envs/common.py b/lms/envs/common.py index 378680e1f6..bbba794cc7 100644 --- a/lms/envs/common.py +++ b/lms/envs/common.py @@ -2158,7 +2158,7 @@ INSTALLED_APPS = [ 'splash', # Monitoring - 'openedx.core.djangoapps.datadog', + 'openedx.core.djangoapps.datadog.apps.DatadogConfig', # User API 'rest_framework', diff --git a/openedx/core/djangoapps/datadog/apps.py b/openedx/core/djangoapps/datadog/apps.py new file mode 100644 index 0000000000..b14d1ebb1a --- /dev/null +++ b/openedx/core/djangoapps/datadog/apps.py @@ -0,0 +1,32 @@ +""" +Configuration for datadog Django app +""" +from django.apps import AppConfig +from django.conf import settings +from dogapi import dog_http_api, dog_stats_api + + +class DatadogConfig(AppConfig): + """ + Configuration class for datadog Django app + """ + name = 'openedx.core.djangoapps.datadog' + verbose_name = "Datadog" + + def ready(self): + """ + Initialize connection to datadog during django startup. + + Configure using DATADOG dictionary in the django project settings. + """ + # By default use the statsd agent + options = {'statsd': True} + + if hasattr(settings, 'DATADOG'): + options.update(settings.DATADOG) + + # Not all arguments are documented. + # Look at the source code for details. + dog_stats_api.start(**options) + + dog_http_api.api_key = options.get('api_key') diff --git a/openedx/core/djangoapps/datadog/startup.py b/openedx/core/djangoapps/datadog/startup.py deleted file mode 100644 index 8c02244742..0000000000 --- a/openedx/core/djangoapps/datadog/startup.py +++ /dev/null @@ -1,27 +0,0 @@ -""" -Start up initialization of datadog. -""" -from django.conf import settings -from dogapi import dog_http_api, dog_stats_api - - -def run(): - """ - Initialize connection to datadog during django startup. - - Can be configured using a dictionary named DATADOG in the django - project settings. - - """ - - # By default use the statsd agent - options = {'statsd': True} - - if hasattr(settings, 'DATADOG'): - options.update(settings.DATADOG) - - # Not all arguments are documented. - # Look at the source code for details. - dog_stats_api.start(**options) - - dog_http_api.api_key = options.get('api_key')