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 d7859337c..3d72760fd 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 c08a00735..b6bc6aaa5 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 233f6566f..ccbd1ae01 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 9857777a3..ce27c97d0 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');