Rocket Sentry
rocket-sentry
is a simple add-on for the Rocket web framework to simplify
integration with the Sentry application monitoring system.
Or maybe...
"The Rocket Sentry is a static rocket-firing gun platform that is based on a Personality Construct and used in the Aperture Science Enrichment Center."
Features
Currently rocket-sentry
includes two integrations:
-
Rust panic handler: when a panic happens, it is reported as a Sentry event.
-
Performance Monitoring: HTTP requests are reported as Transactions, if the
sentry_traces_sample_rate
setting is configured.Transactions currently include the following fields:
- HTTP method
- GET query string
- headers
- POST data
- cookies
- environment
- URL
Pull requests welcome!
Usage
rocket-sentry
can be configured via Rocket.toml
(sentry_dsn=
) or
environment variable ROCKET_SENTRY_DSN
.
To use this, add the dependency to your Cargo.toml
, and add the fairing
to your code:
use RocketSentry;
Then, the Sentry integration can be enabled by adding a sentry_dsn=
value to
the Rocket.toml
file, for example:
[]
= "" # Disabled
[]
= "https://057006d7dfe5fff0fbed461cfca5f757@sentry.io/1111111"
= 0.2 # 20% of requests will be logged under the performance tab
Testing
The functionality can be tested with the examples/panic.rs
example. Just
change the Rocket.toml
file and run it...
cargo run --example panic
Then try accessing this URL: http://localhost:8012/panic?msg=Is+it+time+to+panic+yet?