Skip to content

Commit

Permalink
Merge pull request #736 from MetaCell/feature/CH-123
Browse files Browse the repository at this point in the history
CH-123 add parameters to Sentry init
  • Loading branch information
filippomc authored Mar 7, 2024
2 parents 4af9012 + 7ba9d36 commit d16dec8
Showing 1 changed file with 18 additions and 10 deletions.
28 changes: 18 additions & 10 deletions libraries/cloudharness-common/cloudharness/sentry/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import requests

from cloudharness.utils.env import get_common_service_cluster_address
from cloudharness.applications import get_current_configuration

sentry_environment = os.environ.get("DOMAIN", "Production")

Expand Down Expand Up @@ -29,32 +30,39 @@ def get_dsn(appname):
else:
return None

def init(appname, traces_sample_rate=0):
def init(appname=None, traces_sample_rate=0, integrations=None, **kwargs):
"""
Init cloudharness Sentry functionality for the current app
Args:
appname: the slug of the application
traces_sample_rate: performance trace sample rate
others/kwargs: additional parameters for sentry_sdk.init
Usage examples:
import cloudharness.sentry as sentry
sentry.init('notifications')
"""
if appname is None:
appname = get_current_configuration().harness.name

dsn = get_dsn(appname)

if dsn:
import sentry_sdk
try:
from flask import current_app as app
from sentry_sdk.integrations.flask import FlaskIntegration
integrations = [FlaskIntegration()]
except:
integrations = []
if not integrations:
try:
from flask import current_app as app
from sentry_sdk.integrations.flask import FlaskIntegration
integrations = [FlaskIntegration()]
except:
integrations = []
sentry_sdk.init(
dsn=dsn,
traces_sample_rate=traces_sample_rate,
environment=sentry_environment,
integrations=integrations
integrations=integrations,
traces_sample_rate=traces_sample_rate,
**kwargs
)

__all__ = ['get_dsn', 'init']

0 comments on commit d16dec8

Please sign in to comment.