This crate provides async client for Prometheus Query API. All queries can be written with PromQL notation. Timeout and protocol configuration can be passed at the client initiation time.
[dependencies]
proq = "0.1"
use proq::prelude::*;
use std::time::Duration;
fn main() {
let client = ProqClient::new(
"localhost:9090",
Some(Duration::from_secs(5)),
).unwrap();
futures::executor::block_on(async {
let end = Utc::now();
let start = Some(end - chrono::Duration::minutes(1));
let step = Some(Duration::from_secs_f64(1.5));
let rangeq = client.range_query("up", start, Some(end), step).await;
});
}
For more information please head to the Documentation.