1 unstable release

0.2.0 Mar 16, 2022

#57 in #backtrace

Download history 8/week @ 2023-12-11 1/week @ 2024-01-01 1/week @ 2024-01-08 23/week @ 2024-01-15 10/week @ 2024-01-22 17/week @ 2024-02-05 31/week @ 2024-02-12 10/week @ 2024-02-19 14/week @ 2024-02-26 16/week @ 2024-03-04 13/week @ 2024-03-11 57/week @ 2024-03-18 21/week @ 2024-03-25

108 downloads per month

MIT/Apache

11KB
142 lines

Backtrace error submission crate

Installation

[dependencies]
backtraceio = "0.1"

Usage

Global error handler

Pass your custom token and upload url from your Backtrace account and a report modification closure/function to the backtraceio::register_error_handler function.

backtraceio::register_error_handler(
    "https://UNIVERSE.sp.backtrace.io:6098",
    "YOURTOKEN",
    closure
);

Report modification function

The error handler will pass the Report and std::panic::PanicInfo objects back to the user, in case there are additional attributes/annotations to be defined (described more in detail here). It should accept &mut Report, &PanicInfo, making any changes desired to the report.

Example

use backtraceio::Report;

fn main() {
    backtraceio::register_error_handler(
        "https://UNIVERSE.sp.backtrace.io:6098",
        "YOUR_TOKEN",
        |r: &mut Report, _| {
            let cpus = num_cpus::get();
            let cpus = cpus.to_string();
            r.attributes.insert(String::from("cpu.cores"), cpus);
        },
    );

    println!("Hello, world!");
    panic!("{:?}", 69);
}

Dependencies

~6–20MB
~304K SLoC