20 stable releases (3 major)
| new 3.3.0 | Nov 20, 2025 |
|---|---|
| 3.1.7 | Jun 24, 2024 |
| 3.1.6 | Aug 12, 2023 |
| 3.1.5 | Jul 3, 2023 |
| 0.1.0 | Jun 5, 2020 |
#180 in Debugging
24 downloads per month
Used in 2 crates
47KB
567 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();
}
You can also specify a run ID for each ping to track concurrent executions of the same job. This allows healthchecks.io to correctly calculate execution times when multiple instances of the same job run concurrently.
use healthchecks::ping::get_client;
use uuid::Uuid;
fn do_long_running_task() {}
fn timer_with_run_id() {
// Generate a run ID (or use a deterministic method)
let run_id = Uuid::new_v4();
let config = get_client("073305d2-3582-4dd6-b6a3-425e88583ca2").unwrap();
config.start_timer_with_run_id(Some(&run_id));
do_long_running_task();
config.report_success_with_run_id(Some(&run_id));
}
Minimum supported Rust Version
healthchecks' MSRV is 1.83.0
Licensing
Dual licensed under Apache 2.0 or MIT at your option.
Dependencies
~4–5.5MB
~95K SLoC