| 12345678910111213141516171819202122232425262728293031323334353637383940 | from configs import dify_configfrom dify_app import DifyAppdef init_app(app: DifyApp):    if dify_config.SENTRY_DSN:        import openai        import sentry_sdk        from langfuse import parse_error        from sentry_sdk.integrations.celery import CeleryIntegration        from sentry_sdk.integrations.flask import FlaskIntegration        from werkzeug.exceptions import HTTPException        from core.model_runtime.errors.invoke import InvokeRateLimitError        def before_send(event, hint):            if "exc_info" in hint:                exc_type, exc_value, tb = hint["exc_info"]                if parse_error.defaultErrorResponse in str(exc_value):                    return None            return event        sentry_sdk.init(            dsn=dify_config.SENTRY_DSN,            integrations=[FlaskIntegration(), CeleryIntegration()],            ignore_errors=[                HTTPException,                ValueError,                openai.APIStatusError,                InvokeRateLimitError,                parse_error.defaultErrorResponse,            ],            traces_sample_rate=dify_config.SENTRY_TRACES_SAMPLE_RATE,            profiles_sample_rate=dify_config.SENTRY_PROFILES_SAMPLE_RATE,            environment=dify_config.DEPLOY_ENV,            release=f"dify-{dify_config.CURRENT_VERSION}-{dify_config.COMMIT_SHA}",            before_send=before_send,        )
 |