pub fn try_read_sample(line: &str) -> Option<SampleData>Expand description
Tries to parse a &str line as a sample and returns SampleData
containg the metric name, labels and value if it succeeds.
ยงExamples:
use prometheus_wire::parser::{SampleData, LabelList, try_read_sample};
use std::collections::HashMap;
let line = r#"http_requests_total{method="post",code="200"} 1.5e3 1395066363000"#;
let opt_metric = try_read_sample(line);
let mut map = HashMap::new();
map.insert(String::from("method"), String::from("post"));
map.insert(String::from("code"), String::from("200"));
assert_eq!(
opt_metric,
Some(SampleData::new(
String::from("http_requests_total"),
LabelList::from_map(map),
1500.0,
Some(1395066363000))
));
let metric = opt_metric.unwrap();
assert_eq!(metric.labels.get_string("method"), Some(&String::from("post")));
assert_eq!(metric.labels.get_number("code"), Some(200.0));
assert_eq!(try_read_sample("# test"), None);