#health-check #io #applications #failure #notify #success

healthchecks

Simple library to notify healthchecks.io from inside applications

18 stable releases (3 major)

3.1.7 Jun 24, 2024
3.1.6 Aug 12, 2023
3.1.5 Jul 3, 2023
3.1.4 Jan 26, 2023
0.1.0 Jun 5, 2020

#273 in Web programming

Download history 7/week @ 2024-08-12 12/week @ 2024-08-26 15/week @ 2024-09-16 81/week @ 2024-09-23 23/week @ 2024-09-30 20/week @ 2024-10-14 22/week @ 2024-10-28 43/week @ 2024-11-04 18/week @ 2024-11-11 22/week @ 2024-11-18

105 downloads per month
Used in 2 crates

MIT/Apache

43KB
538 lines

healthchecks-rs

A simple Rust library that allows pinging healthchecks.io to indicate success or failure of a task.

Supported API methods

Pinging API

  • Signal success
  • Signal failure
  • Signal start

Management API

  • Get a list of all checks
  • Get a single check
  • Create a new check
  • Update an existing check
  • Pause monitoring of a check
  • Delete check
  • Get a list of check's logged pings
  • Get a list of check's status changes
  • Get a list of existing integrations

Usage (pinging API)

use healthchecks::ping::get_client;

fn ping_api() {
    let config = get_client("073305d2-3582-4dd6-b6a3-425e88583ca2").unwrap();
    config.report_failure();
    config.report_success();
}

If you want to set a custom user agent for filtering purposes (default is healthcheck-rs/$library_version)

use healthchecks::ping::get_client;

fn custom_user_agent() {
    let config = get_client("073305d2-3582-4dd6-b6a3-425e88583ca2").unwrap().set_user_agent("very-fancy-useragent");
    config.report_failure();
    config.report_success();
}

You can also start a timer to record durations on healthchecks.io.

use healthchecks::ping::get_client;

fn do_long_running_task() {}

fn timer() {
    let config = get_client("073305d2-3582-4dd6-b6a3-425e88583ca2").unwrap();
    config.start_timer();
    do_long_running_task();
    config.report_success();
}

Minimum supported Rust Version

healthchecks' MSRV is 1.67.0

Licensing

Dual licensed under Apache 2.0 or MIT at your option.

Dependencies

~3.5–5MB
~87K SLoC