| import sentry_sdk | |
| from sentry_sdk.integrations.celery import CeleryIntegration | |
| from sentry_sdk.integrations.flask import FlaskIntegration | |
| from werkzeug.exceptions import HTTPException | |
| def init_app(app): | |
| if app.config.get('SENTRY_DSN'): | |
| sentry_sdk.init( | |
| dsn=app.config.get('SENTRY_DSN'), | |
| integrations=[ | |
| FlaskIntegration(), | |
| CeleryIntegration() | |
| ], | |
| ignore_errors=[HTTPException, ValueError], | |
| traces_sample_rate=app.config.get('SENTRY_TRACES_SAMPLE_RATE', 1.0), | |
| profiles_sample_rate=app.config.get('SENTRY_PROFILES_SAMPLE_RATE', 1.0), | |
| environment=app.config.get('DEPLOY_ENV'), | |
| release=f"dify-{app.config.get('CURRENT_VERSION')}-{app.config.get('COMMIT_SHA')}" | |
| ) | |