Merge pull request #16437 from edx/jeskew/datadog_monitoring_to_appconfig

Move datadog/monitoring startup to AppConfig ready.
This commit is contained in:
John Eskew
2017-11-03 14:58:56 -04:00
committed by GitHub
9 changed files with 42 additions and 47 deletions

View File

@@ -966,7 +966,7 @@ INSTALLED_APPS = [
'eventtracking.django.apps.EventTrackingConfig',
# Monitoring
'openedx.core.djangoapps.datadog',
'openedx.core.djangoapps.datadog.apps.DatadogConfig',
# For asset pipelining
'edxmako.apps.EdxMakoConfig',
@@ -1009,9 +1009,6 @@ INSTALLED_APPS = [
# Signals
'openedx.core.djangoapps.signals.apps.SignalConfig',
# Monitoring signals
'openedx.core.djangoapps.monitoring',
# Course action state
'course_action_state',

View File

@@ -2161,7 +2161,7 @@ INSTALLED_APPS = [
'splash',
# Monitoring
'openedx.core.djangoapps.datadog',
'openedx.core.djangoapps.datadog.apps.DatadogConfig',
# User API
'rest_framework',
@@ -2202,9 +2202,6 @@ INSTALLED_APPS = [
# Country embargo support
'openedx.core.djangoapps.embargo',
# Monitoring functionality
'openedx.core.djangoapps.monitoring',
# Course action state
'course_action_state',

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

View File

@@ -1,6 +0,0 @@
This djangoapp is incorrectly named 'monitoring'.
The name is related to old functionality that used to be a part of this app.
TODO: The current contents of this app should be joined with other generic
platform utilities and renamed appropriately.

View File

@@ -1,5 +0,0 @@
"""
Registers signal handlers at startup.
"""
# pylint: disable=unused-import
import openedx.core.djangoapps.monitoring.exceptions

View File

@@ -7,8 +7,15 @@ from django.apps import AppConfig
class UtilConfig(AppConfig):
"""
Let Django know that this is an app with management commands.
Configuration class for the openedx.core.djangoapps.util Django application
"""
label = 'open_edx_util'
name = 'openedx.core.djangoapps.util'
verbose_name = 'Open edX Utilities'
def ready(self):
"""
Registers signal handlers at startup.
"""
# pylint: disable=unused-import
import openedx.core.djangoapps.util.signals