Sentry provides additional integrations designed to change configuration or add instrumentation to your application.
The Sentry SDK uses integrations to hook into the functionality of popular libraries to automatically instrument your application and give you the best data out of the box.
Integrations can be added using the integrations config option.
Integrations marked as "auto-enabled" in the above table will be turned on automatically, unless you set auto_enabling_integrations to False. If you want to configure a specific integration's settings (for instance, change Flask's default transaction_style), add it to your integrations list as you would a non-auto-enabling integration and pass in the desired options.
Copied
import sentry_sdk
from sentry_sdk.integrations.asyncio import AsyncioIntegration
from sentry_sdk.integrations.flask import FlaskIntegration
sentry_sdk.init( integrations=[# The Flask integration is auto-enabling, but we want to change# transaction_style from the default "endpoint" to "url" FlaskIntegration(transaction_style="url"),# The asyncio integration is not enabled automatically# and needs to be added manually. AsyncioIntegration(),],)
There are two types of integrations that are added automatically:
Default integrations like logging or excepthook are always enabled, regardless of what packages you have installed, as long as the default_integrations option is True (default). They provide essential SDK functionality like error deduplication or event flushing at interpreter shutdown.
Auto-enabling integrations like FlaskIntegration are automatically added if the SDK detects you have the corresponding package (like Flask) installed. This happens as long as the auto_enabling_integrations option is set to True (default).
To disable a specific auto-enabling integration, first disable all auto-enabling integrations by setting the auto_enabling_integrations option to False. Then, explicitly enable all the auto-enabling integrations you wish to use by setting the integrations configuration option.
Copied
import sentry_sdk
from sentry_sdk.integrations.flask import FlaskIntegration
sentry_sdk.init(# Turn off all auto-enabling integrations except for Flask auto_enabling_integrations=False, integrations=[ FlaskIntegration(),],)
To disable one of the default integrations, set default_integrations to False. Note that this disables all automatically added integrations, both default and auto-enabling. Any integrations you want to use then have to be manually specified via the integrations config option.
Copied
import sentry_sdk
from sentry_sdk.integrations.atexit import AtexitIntegration
from sentry_sdk.integrations.argv import ArgvIntegration
from sentry_sdk.integrations.dedupe import DedupeIntegration
from sentry_sdk.integrations.excepthook import ExcepthookIntegration
from sentry_sdk.integrations.stdlib import StdlibIntegration
from sentry_sdk.integrations.modules import ModulesIntegration
from sentry_sdk.integrations.threading import ThreadingIntegration
sentry_sdk.init(# Turn off the default logging integration, but keep the rest. default_integrations=False, integrations=[ AtexitIntegration(), ArgvIntegration(), DedupeIntegration(), ExcepthookIntegration(), StdlibIntegration(), ModulesIntegration(), ThreadingIntegration(),],)
Help improve this content Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").