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.