From 3f8045f4128d14558636b1c8a9445c29e8e1583d Mon Sep 17 00:00:00 2001 From: Michael Manfre Date: Sun, 4 Dec 2022 20:08:23 -0500 Subject: [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 --- takahe/settings.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'takahe/settings.py') diff --git a/takahe/settings.py b/takahe/settings.py index 856c22c..15f30ee 100644 --- a/takahe/settings.py +++ b/takahe/settings.py @@ -10,6 +10,8 @@ import sentry_sdk from pydantic import AnyUrl, BaseSettings, EmailStr, Field, validator from sentry_sdk.integrations.django import DjangoIntegration +from takahe import __version__ + BASE_DIR = Path(__file__).resolve().parent.parent @@ -77,6 +79,8 @@ class Settings(BaseSettings): #: An optional Sentry DSN for error reporting. SENTRY_DSN: Optional[str] = None + SENTRY_SAMPLE_RATE: float = 1.0 + SENTRY_TRACES_SAMPLE_RATE: float = 1.0 #: Fallback domain for links. MAIN_DOMAIN: str = "example.com" @@ -150,6 +154,7 @@ INSTALLED_APPS = [ ] MIDDLEWARE = [ + "core.middleware.SentryTaggingMiddleware", "django.middleware.security.SecurityMiddleware", "whitenoise.middleware.WhiteNoiseMiddleware", "django.contrib.sessions.middleware.SessionMiddleware", @@ -269,10 +274,12 @@ if SETUP.SENTRY_DSN: integrations=[ DjangoIntegration(), ], - traces_sample_rate=1.0, + traces_sample_rate=SETUP.SENTRY_TRACES_SAMPLE_RATE, + sample_rate=SETUP.SENTRY_SAMPLE_RATE, send_default_pii=True, environment=SETUP.ENVIRONMENT, ) + sentry_sdk.set_tag("takahe.version", __version__) SERVER_EMAIL = SETUP.EMAIL_FROM if SETUP.EMAIL_SERVER: -- cgit v1.2.3