mirror of
https://github.com/langgenius/dify.git
synced 2026-08-01 09:50:50 +08:00
fix(api): silence opentelemetry.context error reports to Sentry on cloud (#39841)
This commit is contained in:
parent
0d8c02ca62
commit
c562f78d4f
@ -7,6 +7,7 @@ def init_app(app: DifyApp):
|
||||
import sentry_sdk
|
||||
from sentry_sdk.integrations.celery import CeleryIntegration
|
||||
from sentry_sdk.integrations.flask import FlaskIntegration
|
||||
from sentry_sdk.integrations.logging import ignore_logger
|
||||
from werkzeug.exceptions import HTTPException
|
||||
|
||||
from graphon.model_runtime.errors.invoke import InvokeRateLimitError
|
||||
@ -45,3 +46,12 @@ def init_app(app: DifyApp):
|
||||
release=f"dify-{dify_config.project.version}-{dify_config.COMMIT_SHA}",
|
||||
before_send=before_send,
|
||||
)
|
||||
|
||||
if dify_config.BILLING_ENABLED:
|
||||
# Cloud only. `opentelemetry.context.detach()` catches its own failures and reports
|
||||
# them through `logger.exception`, so a double-detach surfaces as an error event
|
||||
# rather than as a raised exception. Under gevent this can fire about once per
|
||||
# workflow run, which is enough volume to crowd real errors out of the issue stream.
|
||||
# Self-hosted deployments rarely see enough of it to be worth silencing, and the
|
||||
# records still reach the normal logging handlers either way.
|
||||
ignore_logger("opentelemetry.context")
|
||||
|
||||
Loading…
Reference in New Issue
Block a user