Emmett-Sentry is an Emmett framework extension integrating Sentry monitoring platform.
Emmett-Sentry is compatible both with Emmett and Emmett55.
You can install Emmett-Sentry using pip:
pip install emmett-sentry
And add it to your Emmett application:
from emmett_sentry import Sentry
sentry = app.use_extension(Sentry)Here is the complete list of parameters of the extension configuration:
| param | default | description |
|---|---|---|
| dsn | Sentry project's DSN | |
| environment | development | Application environment |
| release | Application release | |
| auto_load | True |
Automatically inject extension on routes |
| sample_rate | 1 | Error sampling rate |
| integrations | List of integrations to pass to the SDK | |
| enable_tracing | False |
Enable tracing on routes |
| tracing_sample_rate | Traces sampling rate | |
| tracing_exclude_routes | List of specific routes to exclude from tracing | |
| trace_websockets | False |
Enable tracing on websocket routes |
| trace_orm | True |
Enable tracing on ORM queries |
| trace_templates | True |
Enable tracing on templates rendering |
| trace_sessions | True |
Enable tracing on sessions load/store |
| trace_cache | True |
Enable tracing on cache get/set |
| trace_pipes | False |
Enable tracing on pipes |
| sdk_opts | {} |
Additional configuration for the Sentry SDK |
The extension exposes two methods to manually track events:
- exception
- message
You call these methods directly within your code:
# track an error
try:
1 / 0
except Exception:
sentry.exception()
# track a message
sentry.message("some event", level="info")Emmett-Sentry is released under BSD license.