Skip to content

Idiomatic Async Prometheus Query (PromQL) Client for Rust.

Notifications You must be signed in to change notification settings

vertexclique/proq

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Build Status Latest Version Rust Documentation

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

[dependencies]
proq = "0.1"

Basic Usage

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.