From 727281e99ada711d53639a9fdbb27312e0606027 Mon Sep 17 00:00:00 2001 From: Burhan Khalid Date: Mon, 16 Nov 2015 18:55:37 +0300 Subject: [PATCH] initial configuration to support opbeat --- README.rst | 3 +++ cookiecutter.json | 1 + docs/settings.rst | 3 +++ .../config/settings/production.py | 18 +++++++++++++++++- .../requirements/production.txt | 6 ++++++ 5 files changed, 30 insertions(+), 1 deletion(-) diff --git a/README.rst b/README.rst index a6153068..f44db093 100644 --- a/README.rst +++ b/README.rst @@ -45,6 +45,7 @@ Optional Integrations * Integration with Maildump_ for local email testing * Integration with Sentry_ for error logging * Integration with NewRelic_ for performance monitoring +* Integration with Opbeat_ for performance monitoring .. _alpha: http://blog.getbootstrap.com/2015/08/19/bootstrap-4-alpha/ .. _Hitch: https://github.com/hitchtest/hitchtest @@ -62,6 +63,7 @@ Optional Integrations .. _Sentry: https://getsentry.com .. _NewRelic: https://newrelic.com .. _docker-compose: https://www.github.com/docker/compose +.. _Opbeat: https://opbeat.com/ Constraints @@ -116,6 +118,7 @@ It prompts you for questions. Answer them:: use_maildump [n]: n use_sentry [n]: y use_newrelic [n]: y + use_obpeat [n]: y windows [n]: n use_python2 [n]: y diff --git a/cookiecutter.json b/cookiecutter.json index 213c1842..4367b8b1 100644 --- a/cookiecutter.json +++ b/cookiecutter.json @@ -14,6 +14,7 @@ "use_maildump": "n", "use_sentry": "n", "use_newrelic": "n", + "use_opbeat": "n", "windows": "n", "use_python2": "n" } diff --git a/docs/settings.rst b/docs/settings.rst index 08a95bf0..bdd2075f 100644 --- a/docs/settings.rst +++ b/docs/settings.rst @@ -41,4 +41,7 @@ DJANGO_SENTRY_LOG_LEVEL SENTRY_LOG_LEVEL n/a DJANGO_MAILGUN_API_KEY MAILGUN_ACCESS_KEY n/a raises error DJANGO_MAILGUN_SERVER_NAME MAILGUN_SERVER_NAME n/a raises error NEW_RELIC_LICENSE_KEY NEW_RELIC_LICENSE_KEY n/a raises error +DJANGO_OPBEAT_APP_ID OPBEAT['APP_ID'] n/a raises error +DJANGO_OPBEAT_SECRET_TOKEN OPBEAT['SECRET_TOKEN'] n/a raises error +DJANGO_OPBEAT_ORGANIZATION_ID OPBEAT['ORGANIZATION_ID'] n/a raises error ======================================= =========================== ============================================== ====================================================================== diff --git a/{{cookiecutter.repo_name}}/config/settings/production.py b/{{cookiecutter.repo_name}}/config/settings/production.py index 27ba946e..c065f6fc 100644 --- a/{{cookiecutter.repo_name}}/config/settings/production.py +++ b/{{cookiecutter.repo_name}}/config/settings/production.py @@ -9,6 +9,9 @@ Production Configurations {% if cookiecutter.use_sentry == "y" %} - Use sentry for error logging {% endif %} +{% if cookiecutter.use_opbeat == "y" %} +- Use opbeat for error reporting +{% endif %} ''' from __future__ import absolute_import, unicode_literals @@ -18,6 +21,7 @@ from django.utils import six import logging {% endif %} + from .common import * # noqa # SECRET CONFIGURATION @@ -52,7 +56,19 @@ MIDDLEWARE_CLASSES = SECURITY_MIDDLEWARE + \ MIDDLEWARE_CLASSES = SECURITY_MIDDLEWARE + MIDDLEWARE_CLASSES {%- endif %} - +{% if cookiecutter.use_opbeat == "y" -%} +# opbeat integration +# See https://opbeat.com/languages/django/ +INSTALLED_APPS += ('opbeat.contrib.django',) +OPBEAT = { + 'ORGANIZATION_ID': env('DJANGO_OPBEAT_ORGANIZATION_ID'), + 'APP_ID': env('DJANGO_OPBEAT_APP_ID'), + 'SECRET_TOKEN': env('DJANGO_OPBEAT_SECRET_TOKEN') +} +MIDDLEWARE_CLASSES += ( + 'opbeat.contrib.django.middleware.OpbeatAPMMiddleware', +) +{%- endif %} # set this to 60 seconds and then to 518400 when you can prove it works SECURE_HSTS_SECONDS = 60 SECURE_HSTS_INCLUDE_SUBDOMAINS = env.bool( diff --git a/{{cookiecutter.repo_name}}/requirements/production.txt b/{{cookiecutter.repo_name}}/requirements/production.txt index 4a0939a0..b64f3dd7 100644 --- a/{{cookiecutter.repo_name}}/requirements/production.txt +++ b/{{cookiecutter.repo_name}}/requirements/production.txt @@ -37,3 +37,9 @@ raven # ----------------------------------------- newrelic {%- endif %} + +{% if cookiecutter.use_opbeat == "y" -%} +# Opbeat agent for performance monitoring +# ----------------------------------------- +opbeat +{%- endif %}