Function prometheus_http_query::functions::label_join[][src]

pub fn label_join(
    vector: InstantVector,
    dst_label: &str,
    separator: &str,
    src_labels: &[&str]
) -> Result<InstantVector, Error>
Expand description

Apply the PromQL label_join function.

use prometheus_http_query::{Selector, InstantVector};
use prometheus_http_query::functions::label_join;
use std::convert::TryInto;

fn main() -> Result<(), prometheus_http_query::Error> {
    let vector: InstantVector = Selector::new()
        .metric("some_metric")?
        .with("label1", "value1")
        .with("label2", "value2")
        .try_into()?;

    let result = label_join(vector, "new_label", ":", &["label1", "label2"])?;

    let promql = r#"label_join(some_metric{label1="value1",label2="value2"}, "new_label", ":", "label1", "label2")"#;

    assert_eq!(&result.to_string(), promql);

    Ok(())
}