summaryrefslogtreecommitdiffstats
path: root/core/middleware.py
diff options
context:
space:
mode:
authorMichael Manfre2022-12-04 20:08:23 -0500
committerGitHub2022-12-04 18:08:23 -0700
commit3f8045f4128d14558636b1c8a9445c29e8e1583d (patch)
treee36e7b4a928f9b8497283934d60e512ec02a818b /core/middleware.py
parent258d992deb06a1ffd82ad33004223cf518ce3aa3 (diff)
downloadtakahe-3f8045f4128d14558636b1c8a9445c29e8e1583d.tar.gz
takahe-3f8045f4128d14558636b1c8a9445c29e8e1583d.tar.bz2
takahe-3f8045f4128d14558636b1c8a9445c29e8e1583d.zip
[WIP] Sentry improvements (#108)
Stator clears scope during the main loop to behave more like transactions. Transaction names are set. Sentry tags: * 'takahe.version' * 'takahe.app' values 'web' or 'stator' Added settings: * TAKAHE_SENTRY_SAMPLE_RATE * TAKAHE_SENTRY_TRACES_SAMPLE_RATE
Diffstat (limited to 'core/middleware.py')
-rw-r--r--core/middleware.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/core/middleware.py b/core/middleware.py
index fca5dd8..08c28fa 100644
--- a/core/middleware.py
+++ b/core/middleware.py
@@ -1,3 +1,6 @@
+from django.core.exceptions import MiddlewareNotUsed
+
+from core import sentry
from core.models import Config
@@ -13,3 +16,19 @@ class ConfigLoadingMiddleware:
Config.system = Config.load_system()
response = self.get_response(request)
return response
+
+
+class SentryTaggingMiddleware:
+ """
+ Sets Sentry tags at the start of the request if Sentry is configured.
+ """
+
+ def __init__(self, get_response):
+ if not sentry.SENTRY_ENABLED:
+ raise MiddlewareNotUsed()
+ self.get_response = get_response
+
+ def __call__(self, request):
+ sentry.set_takahe_app("web")
+ response = self.get_response(request)
+ return response