#rocket #sentry #monitoring #fairing #error-reporting

rocket-sentry

Simplifies integration between the Rocket web framework and Sentry application monitoring system

5 releases (breaking)

0.5.0 Sep 15, 2020
0.4.0 Aug 16, 2020
0.3.0 Jul 22, 2020
0.2.0 Apr 4, 2020
0.1.0 Nov 24, 2019

#111 in Web programming

38 downloads per month

MIT license

17KB

Rocket Sentry

Crates.io version Documentation Tests status

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."

-- Half-Life wiki

Features

Currently, rocket-sentry only enables the Rust panic handler.

rocket-sentry can be configured via Rocket.toml (sentry_dsn=) or environment variable ROCKET_SENTRY_DSN.

Usage

To use this, add the dependency to your Cargo.toml, and add the fairing to your code:

use rocket_sentry::RocketSentry;

fn main() {
    rocket::ignite()
        .attach(RocketSentry::fairing())
        // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   add this line
        .launch();
}

Then, the Sentry integration can be enabled by adding a sentry_dsn= value to the Rocket.toml file, for example:

[development]
sentry_dsn = ""  # Disabled
[staging]
sentry_dsn = "https://057006d7dfe5fff0fbed461cfca5f757@sentry.io/1111111"
[production]
sentry_dsn = "https://057006d7dfe5fff0fbed461cfca5f757@sentry.io/1111111"

Testing

The functionality can be tested with the examples/panic.rs example. Just change the Rocket.toml file and run it...

rustup override set nightly
cargo run --example panic

Then try accessing this URL: http://localhost:8012/panic?msg=Is+it+time+to+panic+yet?

Release history

0.5.0 (2020-09-15)
  • Update sentry requirement from 0.19 to 0.20 (#13)
0.4.0 (2020-08-16)
  • Use log crate instead of println (#11). Thanks to Afonso Bordado, @afonso360
0.3.0 (2020-07-22)
  • Update sentry requirement from 0.18.0 to 0.19.0 (#9)
    • Sentry now automatically installs panic handler, dropped from rocket-sentry.
0.2.0 (2020-04-04)
  • Update sentry requirement from 0.12.0 to 0.18.0 (#1)
  • Add CI builds and basic test case (#3, #4)
  • Add documentation for Rust doc (#5)
0.1.0 (2019-11-25)
  • Initial release

Dependencies

~10MB
~217K SLoC