Spaces:
Build error
Build error
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 configs import dify_config | |
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 | |
def init_app(app): | |
if dify_config.SENTRY_DSN: | |
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, | |
) | |