An open API service indexing awesome lists of open source software.

https://github.com/vertexclique/proq

Idiomatic Async Prometheus Query (PromQL) Client for Rust.
https://github.com/vertexclique/proq

async-client metric-aggregation metrics-gathering prometheus promql rust-lang

Last synced: about 1 year ago
JSON representation

Idiomatic Async Prometheus Query (PromQL) Client for Rust.

Awesome Lists containing this project

README

          






Proq – Idiomatic Async Prometheus Query (PromQL) Client for Rust.


[![Build Status](https://github.com/vertexclique/proq/workflows/CI/badge.svg)](https://github.com/vertexclique/proq/actions)
[![Latest Version](https://img.shields.io/crates/v/proq.svg)](https://crates.io/crates/proq)
[![Rust Documentation](https://img.shields.io/badge/api-rustdoc-blue.svg)](https://docs.rs/proq/)

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.

#### Adding as dependency
```toml
[dependencies]
proq = "0.1"
```

#### Basic Usage
```rust
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](https://docs.rs/proq/).