diff --git a/docker-compose-developer.yml b/docker-compose-developer.yml index b15e0980..c0212afc 100644 --- a/docker-compose-developer.yml +++ b/docker-compose-developer.yml @@ -26,6 +26,7 @@ x-env-vars: &oncall-env-vars GRAFANA_API_URL: http://localhost:3000 GOOGLE_APPLICATION_CREDENTIALS: /etc/app/gcp_service_account.json FCM_PROJECT_ID: oncall-mobile-dev + SILK_PROFILER_ENABLED: True # basically this is needed because the oncall backend containers have been configured to communicate w/ grafana via # http://localhost:3000 (GRAFANA_API_URL). This URL is used in two scenarios: diff --git a/engine/engine/urls.py b/engine/engine/urls.py index c7af667f..77d0f80f 100644 --- a/engine/engine/urls.py +++ b/engine/engine/urls.py @@ -70,6 +70,7 @@ if settings.DEBUG: path("__debug__/", include(debug_toolbar.urls)), ] + urlpatterns - urlpatterns += [path("silk/", include("silk.urls", namespace="silk"))] +if settings.SILK_PROFILER_ENABLED: + urlpatterns += [path(settings.SILK_PATH, include("silk.urls", namespace="silk"))] admin.site.site_header = settings.ADMIN_SITE_HEADER diff --git a/engine/settings/base.py b/engine/settings/base.py index d28f73e3..83ac1cc8 100644 --- a/engine/settings/base.py +++ b/engine/settings/base.py @@ -464,14 +464,20 @@ INTERNAL_IPS = ["127.0.0.1"] SELF_IP = os.environ.get("SELF_IP") -SILK_PATH = os.environ.get("SILK_PATH", "silk/") -SILKY_AUTHENTICATION = True -SILKY_AUTHORISATION = True -SILKY_META = True -SILKY_INTERCEPT_PERCENT = 1 -SILKY_MAX_RECORDED_REQUESTS = 10**4 +SILK_PROFILER_ENABLED = getenv_boolean("SILK_PROFILER_ENABLED", default=False) +if SILK_PROFILER_ENABLED: + SILK_PATH = os.environ.get("SILK_PATH", "silk/") + SILKY_INTERCEPT_PERCENT = getenv_integer("SILKY_INTERCEPT_PERCENT", 100) + + INSTALLED_APPS += ["silk"] + MIDDLEWARE += ["silk.middleware.SilkyMiddleware"] + + SILKY_AUTHENTICATION = True + SILKY_AUTHORISATION = True + SILKY_META = True + SILKY_MAX_RECORDED_REQUESTS = 10**4 + SILKY_PYTHON_PROFILER = True -INSTALLED_APPS += ["silk"] # get ONCALL_DJANGO_ADMIN_PATH from env and add trailing / to it ONCALL_DJANGO_ADMIN_PATH = os.environ.get("ONCALL_DJANGO_ADMIN_PATH", "django-admin") + "/" diff --git a/engine/settings/dev.py b/engine/settings/dev.py index e7ff732b..e4843192 100644 --- a/engine/settings/dev.py +++ b/engine/settings/dev.py @@ -26,8 +26,6 @@ MIRAGE_CIPHER_IV = os.environ.get("MIRAGE_CIPHER_IV", "tZZa+60zTZO2NRcS") TESTING = "pytest" in sys.modules or "unittest" in sys.modules -SILKY_PYTHON_PROFILER = True - # For any requests that come in with that header/value, request.is_secure() will return True. SECURE_PROXY_SSL_HEADER = ("HTTP_X_FORWARDED_PROTO", "https") @@ -54,9 +52,6 @@ if getenv_boolean("DEV_DEBUG_VIEW_SQL_QUERIES", default=False): }, } -SILKY_INTERCEPT_PERCENT = 100 -MIDDLEWARE += ["silk.middleware.SilkyMiddleware"] - SWAGGER_SETTINGS = { "SECURITY_DEFINITIONS": { "Basic": {"type": "basic"},