From d94477b326404179f35e7e4b2d366330b6dfe2d9 Mon Sep 17 00:00:00 2001 From: Leonid Vinogradov Date: Mon, 3 Jun 2024 16:22:50 +0300 Subject: [PATCH] HH-218173 calm sentry --- frontik/integrations/sentry.py | 30 ++++++++++++++++++------------ frontik/options.py | 3 +++ 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/frontik/integrations/sentry.py b/frontik/integrations/sentry.py index eaf79eba2..cb29341a6 100644 --- a/frontik/integrations/sentry.py +++ b/frontik/integrations/sentry.py @@ -1,6 +1,5 @@ from __future__ import annotations -import logging from typing import TYPE_CHECKING, Optional import sentry_sdk @@ -28,26 +27,33 @@ def initialize_app(self, app: FrontikApplication) -> Optional[Future]: integrations_logger.info('sentry integration is disabled: sentry_dsn option is not configured') return None + integrations = [ + AioHttpIntegration(), + FastApiIntegration(), + StarletteIntegration(), + AtexitIntegration(), + DedupeIntegration(), + ModulesIntegration(), + StdlibIntegration(), + ] + + if options.sentry_exception_integration: + integrations.append(ExcepthookIntegration()) + + if options.sentry_logging_integration: + integrations.append(LoggingIntegration()) + sentry_sdk.init( dsn=options.sentry_dsn, max_breadcrumbs=options.sentry_max_breadcrumbs, default_integrations=False, auto_enabling_integrations=False, - integrations=[ - AioHttpIntegration(), - FastApiIntegration(), - StarletteIntegration(), - AtexitIntegration(), - DedupeIntegration(), - ExcepthookIntegration(), - ModulesIntegration(), - StdlibIntegration(), - LoggingIntegration(level=None, event_level=logging.WARNING), - ], + integrations=integrations, sample_rate=options.sentry_sample_rate, enable_tracing=options.sentry_enable_tracing, traces_sample_rate=options.sentry_traces_sample_rate, in_app_include=list(filter(None, options.sentry_in_app_include.split(','))), + profiles_sample_rate=options.sentry_profiles_sample_rate, ) return None diff --git a/frontik/options.py b/frontik/options.py index 29e2efbbd..a1b4e534c 100644 --- a/frontik/options.py +++ b/frontik/options.py @@ -83,6 +83,9 @@ class Options: sentry_enable_tracing: Optional[bool] = None sentry_traces_sample_rate: Optional[float] = None sentry_in_app_include: str = '' + sentry_exception_integration: bool = False + sentry_logging_integration: bool = False + sentry_profiles_sample_rate: Optional[float] = None send_timeout_stats_interval_ms: int = 60000