pub fn delta(vector: RangeVector) -> InstantVector
Expand description

Apply the PromQL delta function.

use prometheus_http_query::{Client, Selector, RangeVector};
use prometheus_http_query::functions::delta;
use std::convert::TryInto;

#[tokio::main(flavor = "current_thread")]
async fn main() -> Result<(), prometheus_http_query::Error> {
    let client = Client::default();
    let vector: RangeVector = Selector::new()
        .metric("prometheus_http_requests_total")
        .range("1m")?
        .try_into()?;

    let q = delta(vector);

    let response = client.query(q, None, None).await?;
    let first_item = response.as_instant()
        .unwrap()
        .get(0);

    assert!(first_item.is_some());
    Ok(())
}