Move datadog startup.py over to AppConfig::ready

This commit is contained in:
John Eskew
2017-11-02 17:07:16 -04:00
parent 42396560f1
commit 65433c9cd4
4 changed files with 34 additions and 29 deletions

View File

@@ -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',

View File

@@ -2158,7 +2158,7 @@ INSTALLED_APPS = [
'splash',
# Monitoring
'openedx.core.djangoapps.datadog',
'openedx.core.djangoapps.datadog.apps.DatadogConfig',
# User API
'rest_framework',

View File

@@ -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')

View File

@@ -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')