From ebf6d46e37f70bd2a78ba6fc3c0db92375c831ff Mon Sep 17 00:00:00 2001 From: Manuel Raynaud Date: Tue, 4 Mar 2025 17:19:53 +0100 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F(front)=20use=20sentry=20tags?= =?UTF-8?q?=20instead=20of=20extra=20scope?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit To ease filtering issues on sentry, we want to use tags instead of extra scope. Tags are indexed and searchable, it's not the case with extra scope. Moreover using setEtra to add additional data is deprecated. --- CHANGELOG.md | 4 ++++ src/backend/impress/settings.py | 7 ++++-- .../impress/src/stores/useSentryStore.tsx | 24 +++++++++---------- .../servers/y-provider/src/services/sentry.ts | 1 + 4 files changed, 22 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d7859337..3d72760f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,10 @@ and this project adheres to ## [Unreleased] +## Changed + +- Use sentry tags instead of extra scope + ## [2.3.0] - 2025-03-03 ## Added diff --git a/src/backend/impress/settings.py b/src/backend/impress/settings.py index c08a0073..b6bc6aaa 100755 --- a/src/backend/impress/settings.py +++ b/src/backend/impress/settings.py @@ -19,6 +19,7 @@ from django.utils.translation import gettext_lazy as _ import sentry_sdk from configurations import Configuration, values from sentry_sdk.integrations.django import DjangoIntegration +from sentry_sdk.integrations.logging import ignore_logger # Build paths inside the project like this: BASE_DIR / 'subdir'. BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) @@ -646,8 +647,10 @@ class Base(Configuration): release=get_release(), integrations=[DjangoIntegration()], ) - with sentry_sdk.configure_scope() as scope: - scope.set_extra("application", "backend") + sentry_sdk.set_tag("application", "backend") + + # Ignore the logs added by the DockerflowMiddleware + ignore_logger("request.summary") if ( cls.OIDC_FALLBACK_TO_EMAIL_FOR_IDENTIFICATION diff --git a/src/frontend/apps/impress/src/stores/useSentryStore.tsx b/src/frontend/apps/impress/src/stores/useSentryStore.tsx index 233f6566..ccbd1ae0 100644 --- a/src/frontend/apps/impress/src/stores/useSentryStore.tsx +++ b/src/frontend/apps/impress/src/stores/useSentryStore.tsx @@ -12,21 +12,21 @@ interface SentryState { export const useSentryStore = create((set, get) => ({ sentry: undefined, setSentry: (dsn, environment) => { - const sentry = get().sentry; - if (sentry) { + if (get().sentry) { return; } - set({ - sentry: Sentry.init({ - dsn, - environment, - integrations: [Sentry.replayIntegration()], - release: packageJson.version, - replaysSessionSampleRate: 0.1, - replaysOnErrorSampleRate: 1.0, - tracesSampleRate: 0.1, - }), + const sentry = Sentry.init({ + dsn, + environment, + integrations: [Sentry.replayIntegration()], + release: packageJson.version, + replaysSessionSampleRate: 0.1, + replaysOnErrorSampleRate: 1.0, + tracesSampleRate: 0.1, }); + Sentry.setTag('application', 'frontend'); + + set({ sentry }); }, })); diff --git a/src/frontend/servers/y-provider/src/services/sentry.ts b/src/frontend/servers/y-provider/src/services/sentry.ts index 9857777a..ce27c97d 100644 --- a/src/frontend/servers/y-provider/src/services/sentry.ts +++ b/src/frontend/servers/y-provider/src/services/sentry.ts @@ -9,3 +9,4 @@ Sentry.init({ tracesSampleRate: 0.1, profilesSampleRate: 1.0, }); +Sentry.setTag('application', 'y-provider');