sentry-sdk from PyPI with the
pip install --upgrade 'sentry-sdk[flask]'
Configure your DSN:
import sentry_sdk from flask import Flask from sentry_sdk.integrations.flask import FlaskIntegration sentry_sdk.init( dsn="https://<key>@sentry.io/<project>", integrations=[FlaskIntegration()], # Set traces_sample_rate to 1.0 to capture 100% # of transactions for performance monitoring. # We recommend adjusting this value in production, traces_sample_rate=1.0 ) app = Flask(__name__)
Within minutes after installing Sentry, software teams are able to trace Flask performance issues back to a poor performing API call as well as surface all related code errors. Engineering Managers and Developers now have a single tool to optimize performance of their code and deliver fast customer experiences with Performance Monitoring.
See local variables in the stack for prod errors, just like in your dev environment. Introspect more deeply into the runtime and jump into the frame to get additional data for any local variable. Filter and group Flask exceptions intuitively to eliminate noise.
Expose the important events that led to each Flask exception: SQL queries, debug logs, network requests, past errors. Learn in which version a bug first appeared, merge duplicates, and know if things regress in a future release.
Aggregate errors by details like HTTP request, hostname, and app version to see what’s new, a priority, or a trend.
Assign custom tags to reproduce the error environment specific to your application, business, and users.
Find answers to key questions: How actionable is this error? In which app release did the Flask bug occur?
You can get started for free. Pricing depends on the number of monthly events, transactions, and attachments that you send Sentry. For more details, visit our pricing page.
Sentry doesn’t impact a web site’s performance.
If you look at the configuration options for when you initialize Sentry in your code, you’ll see there’s nothing regarding minimizing its impact on your app’s performance. This is because our team of SDK engineers already developed Sentry with this in mind.
Sentry is a listener/handler for errors that asynchronously sends out the error/event to Sentry.io. This is non-blocking. The error/event only goes out if this is an error.
Global handlers have almost no impact as well, as they are native APIs provided by the browsers.