sentry-sdk from PyPI with the
pip install --upgrade 'sentry-sdk[bottle]==0.16.2'
To configure the SDK, initialize it with the integration before your app has been initialized:
import sentry_sdk from bottle import Bottle, run from sentry_sdk.integrations.bottle import BottleIntegration sentry_sdk.init( dsn="https://<key>@sentry.io/<project>", integrations=[BottleIntegration()] ) app = Bottle()
Within minutes after installing Sentry, software teams are able to trace Bottle 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.
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 Bottle exceptions intuitively to eliminate noise.Bottle
Expose the important events that led to each Bottle 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 Bottle 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.