|
|
|
|
@@ -71,6 +71,7 @@ pub fn convert_metric_to_write_request(
|
|
|
|
|
timestamp,
|
|
|
|
|
}],
|
|
|
|
|
exemplars: vec![],
|
|
|
|
|
histograms: vec![],
|
|
|
|
|
}),
|
|
|
|
|
MetricType::GAUGE => timeseries.push(TimeSeries {
|
|
|
|
|
labels: convert_label(m.get_label(), mf_name, None),
|
|
|
|
|
@@ -79,6 +80,7 @@ pub fn convert_metric_to_write_request(
|
|
|
|
|
timestamp,
|
|
|
|
|
}],
|
|
|
|
|
exemplars: vec![],
|
|
|
|
|
histograms: vec![],
|
|
|
|
|
}),
|
|
|
|
|
MetricType::HISTOGRAM => {
|
|
|
|
|
let h = m.get_histogram();
|
|
|
|
|
@@ -97,6 +99,7 @@ pub fn convert_metric_to_write_request(
|
|
|
|
|
timestamp,
|
|
|
|
|
}],
|
|
|
|
|
exemplars: vec![],
|
|
|
|
|
histograms: vec![],
|
|
|
|
|
});
|
|
|
|
|
if upper_bound.is_sign_positive() && upper_bound.is_infinite() {
|
|
|
|
|
inf_seen = true;
|
|
|
|
|
@@ -114,6 +117,7 @@ pub fn convert_metric_to_write_request(
|
|
|
|
|
timestamp,
|
|
|
|
|
}],
|
|
|
|
|
exemplars: vec![],
|
|
|
|
|
histograms: vec![],
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
timeseries.push(TimeSeries {
|
|
|
|
|
@@ -127,6 +131,7 @@ pub fn convert_metric_to_write_request(
|
|
|
|
|
timestamp,
|
|
|
|
|
}],
|
|
|
|
|
exemplars: vec![],
|
|
|
|
|
histograms: vec![],
|
|
|
|
|
});
|
|
|
|
|
timeseries.push(TimeSeries {
|
|
|
|
|
labels: convert_label(
|
|
|
|
|
@@ -139,6 +144,7 @@ pub fn convert_metric_to_write_request(
|
|
|
|
|
timestamp,
|
|
|
|
|
}],
|
|
|
|
|
exemplars: vec![],
|
|
|
|
|
histograms: vec![],
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
MetricType::SUMMARY => {
|
|
|
|
|
@@ -155,6 +161,7 @@ pub fn convert_metric_to_write_request(
|
|
|
|
|
timestamp,
|
|
|
|
|
}],
|
|
|
|
|
exemplars: vec![],
|
|
|
|
|
histograms: vec![],
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
timeseries.push(TimeSeries {
|
|
|
|
|
@@ -168,6 +175,7 @@ pub fn convert_metric_to_write_request(
|
|
|
|
|
timestamp,
|
|
|
|
|
}],
|
|
|
|
|
exemplars: vec![],
|
|
|
|
|
histograms: vec![],
|
|
|
|
|
});
|
|
|
|
|
timeseries.push(TimeSeries {
|
|
|
|
|
labels: convert_label(
|
|
|
|
|
@@ -180,6 +188,7 @@ pub fn convert_metric_to_write_request(
|
|
|
|
|
timestamp,
|
|
|
|
|
}],
|
|
|
|
|
exemplars: vec![],
|
|
|
|
|
histograms: vec![],
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
MetricType::UNTYPED => {
|
|
|
|
|
@@ -274,7 +283,7 @@ mod test {
|
|
|
|
|
|
|
|
|
|
assert_eq!(
|
|
|
|
|
format!("{:?}", write_quest.timeseries),
|
|
|
|
|
r#"[TimeSeries { labels: [Label { name: "__name__", value: "test_counter" }, Label { name: "a", value: "1" }, Label { name: "b", value: "2" }], samples: [Sample { value: 1.0, timestamp: 0 }], exemplars: [] }]"#
|
|
|
|
|
r#"[TimeSeries { labels: [Label { name: "__name__", value: "test_counter" }, Label { name: "a", value: "1" }, Label { name: "b", value: "2" }], samples: [Sample { value: 1.0, timestamp: 0 }], exemplars: [], histograms: [] }]"#
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
let gauge_opts = Opts::new("test_gauge", "test help")
|
|
|
|
|
@@ -288,7 +297,7 @@ mod test {
|
|
|
|
|
let write_quest = convert_metric_to_write_request(mf, None, 0);
|
|
|
|
|
assert_eq!(
|
|
|
|
|
format!("{:?}", write_quest.timeseries),
|
|
|
|
|
r#"[TimeSeries { labels: [Label { name: "__name__", value: "test_gauge" }, Label { name: "a", value: "1" }, Label { name: "b", value: "2" }], samples: [Sample { value: 42.0, timestamp: 0 }], exemplars: [] }]"#
|
|
|
|
|
r#"[TimeSeries { labels: [Label { name: "__name__", value: "test_gauge" }, Label { name: "a", value: "1" }, Label { name: "b", value: "2" }], samples: [Sample { value: 42.0, timestamp: 0 }], exemplars: [], histograms: [] }]"#
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -305,20 +314,20 @@ mod test {
|
|
|
|
|
.iter()
|
|
|
|
|
.map(|x| format!("{:?}", x))
|
|
|
|
|
.collect();
|
|
|
|
|
let ans = r#"TimeSeries { labels: [Label { name: "__name__", value: "test_histogram_bucket" }, Label { name: "a", value: "1" }, Label { name: "le", value: "0.005" }], samples: [Sample { value: 0.0, timestamp: 0 }], exemplars: [] }
|
|
|
|
|
TimeSeries { labels: [Label { name: "__name__", value: "test_histogram_bucket" }, Label { name: "a", value: "1" }, Label { name: "le", value: "0.01" }], samples: [Sample { value: 0.0, timestamp: 0 }], exemplars: [] }
|
|
|
|
|
TimeSeries { labels: [Label { name: "__name__", value: "test_histogram_bucket" }, Label { name: "a", value: "1" }, Label { name: "le", value: "0.025" }], samples: [Sample { value: 0.0, timestamp: 0 }], exemplars: [] }
|
|
|
|
|
TimeSeries { labels: [Label { name: "__name__", value: "test_histogram_bucket" }, Label { name: "a", value: "1" }, Label { name: "le", value: "0.05" }], samples: [Sample { value: 0.0, timestamp: 0 }], exemplars: [] }
|
|
|
|
|
TimeSeries { labels: [Label { name: "__name__", value: "test_histogram_bucket" }, Label { name: "a", value: "1" }, Label { name: "le", value: "0.1" }], samples: [Sample { value: 0.0, timestamp: 0 }], exemplars: [] }
|
|
|
|
|
TimeSeries { labels: [Label { name: "__name__", value: "test_histogram_bucket" }, Label { name: "a", value: "1" }, Label { name: "le", value: "0.25" }], samples: [Sample { value: 1.0, timestamp: 0 }], exemplars: [] }
|
|
|
|
|
TimeSeries { labels: [Label { name: "__name__", value: "test_histogram_bucket" }, Label { name: "a", value: "1" }, Label { name: "le", value: "0.5" }], samples: [Sample { value: 1.0, timestamp: 0 }], exemplars: [] }
|
|
|
|
|
TimeSeries { labels: [Label { name: "__name__", value: "test_histogram_bucket" }, Label { name: "a", value: "1" }, Label { name: "le", value: "1" }], samples: [Sample { value: 1.0, timestamp: 0 }], exemplars: [] }
|
|
|
|
|
TimeSeries { labels: [Label { name: "__name__", value: "test_histogram_bucket" }, Label { name: "a", value: "1" }, Label { name: "le", value: "2.5" }], samples: [Sample { value: 1.0, timestamp: 0 }], exemplars: [] }
|
|
|
|
|
TimeSeries { labels: [Label { name: "__name__", value: "test_histogram_bucket" }, Label { name: "a", value: "1" }, Label { name: "le", value: "5" }], samples: [Sample { value: 1.0, timestamp: 0 }], exemplars: [] }
|
|
|
|
|
TimeSeries { labels: [Label { name: "__name__", value: "test_histogram_bucket" }, Label { name: "a", value: "1" }, Label { name: "le", value: "10" }], samples: [Sample { value: 1.0, timestamp: 0 }], exemplars: [] }
|
|
|
|
|
TimeSeries { labels: [Label { name: "__name__", value: "test_histogram_bucket" }, Label { name: "a", value: "1" }, Label { name: "le", value: "+Inf" }], samples: [Sample { value: 1.0, timestamp: 0 }], exemplars: [] }
|
|
|
|
|
TimeSeries { labels: [Label { name: "__name__", value: "test_histogram_sum" }, Label { name: "a", value: "1" }], samples: [Sample { value: 0.25, timestamp: 0 }], exemplars: [] }
|
|
|
|
|
TimeSeries { labels: [Label { name: "__name__", value: "test_histogram_count" }, Label { name: "a", value: "1" }], samples: [Sample { value: 1.0, timestamp: 0 }], exemplars: [] }"#;
|
|
|
|
|
let ans = r#"TimeSeries { labels: [Label { name: "__name__", value: "test_histogram_bucket" }, Label { name: "a", value: "1" }, Label { name: "le", value: "0.005" }], samples: [Sample { value: 0.0, timestamp: 0 }], exemplars: [], histograms: [] }
|
|
|
|
|
TimeSeries { labels: [Label { name: "__name__", value: "test_histogram_bucket" }, Label { name: "a", value: "1" }, Label { name: "le", value: "0.01" }], samples: [Sample { value: 0.0, timestamp: 0 }], exemplars: [], histograms: [] }
|
|
|
|
|
TimeSeries { labels: [Label { name: "__name__", value: "test_histogram_bucket" }, Label { name: "a", value: "1" }, Label { name: "le", value: "0.025" }], samples: [Sample { value: 0.0, timestamp: 0 }], exemplars: [], histograms: [] }
|
|
|
|
|
TimeSeries { labels: [Label { name: "__name__", value: "test_histogram_bucket" }, Label { name: "a", value: "1" }, Label { name: "le", value: "0.05" }], samples: [Sample { value: 0.0, timestamp: 0 }], exemplars: [], histograms: [] }
|
|
|
|
|
TimeSeries { labels: [Label { name: "__name__", value: "test_histogram_bucket" }, Label { name: "a", value: "1" }, Label { name: "le", value: "0.1" }], samples: [Sample { value: 0.0, timestamp: 0 }], exemplars: [], histograms: [] }
|
|
|
|
|
TimeSeries { labels: [Label { name: "__name__", value: "test_histogram_bucket" }, Label { name: "a", value: "1" }, Label { name: "le", value: "0.25" }], samples: [Sample { value: 1.0, timestamp: 0 }], exemplars: [], histograms: [] }
|
|
|
|
|
TimeSeries { labels: [Label { name: "__name__", value: "test_histogram_bucket" }, Label { name: "a", value: "1" }, Label { name: "le", value: "0.5" }], samples: [Sample { value: 1.0, timestamp: 0 }], exemplars: [], histograms: [] }
|
|
|
|
|
TimeSeries { labels: [Label { name: "__name__", value: "test_histogram_bucket" }, Label { name: "a", value: "1" }, Label { name: "le", value: "1" }], samples: [Sample { value: 1.0, timestamp: 0 }], exemplars: [], histograms: [] }
|
|
|
|
|
TimeSeries { labels: [Label { name: "__name__", value: "test_histogram_bucket" }, Label { name: "a", value: "1" }, Label { name: "le", value: "2.5" }], samples: [Sample { value: 1.0, timestamp: 0 }], exemplars: [], histograms: [] }
|
|
|
|
|
TimeSeries { labels: [Label { name: "__name__", value: "test_histogram_bucket" }, Label { name: "a", value: "1" }, Label { name: "le", value: "5" }], samples: [Sample { value: 1.0, timestamp: 0 }], exemplars: [], histograms: [] }
|
|
|
|
|
TimeSeries { labels: [Label { name: "__name__", value: "test_histogram_bucket" }, Label { name: "a", value: "1" }, Label { name: "le", value: "10" }], samples: [Sample { value: 1.0, timestamp: 0 }], exemplars: [], histograms: [] }
|
|
|
|
|
TimeSeries { labels: [Label { name: "__name__", value: "test_histogram_bucket" }, Label { name: "a", value: "1" }, Label { name: "le", value: "+Inf" }], samples: [Sample { value: 1.0, timestamp: 0 }], exemplars: [], histograms: [] }
|
|
|
|
|
TimeSeries { labels: [Label { name: "__name__", value: "test_histogram_sum" }, Label { name: "a", value: "1" }], samples: [Sample { value: 0.25, timestamp: 0 }], exemplars: [], histograms: [] }
|
|
|
|
|
TimeSeries { labels: [Label { name: "__name__", value: "test_histogram_count" }, Label { name: "a", value: "1" }], samples: [Sample { value: 1.0, timestamp: 0 }], exemplars: [], histograms: [] }"#;
|
|
|
|
|
assert_eq!(write_quest_str.join("\n"), ans);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -355,10 +364,10 @@ TimeSeries { labels: [Label { name: "__name__", value: "test_histogram_count" },
|
|
|
|
|
.iter()
|
|
|
|
|
.map(|x| format!("{:?}", x))
|
|
|
|
|
.collect();
|
|
|
|
|
let ans = r#"TimeSeries { labels: [Label { name: "__name__", value: "test_summary" }, Label { name: "quantile", value: "50" }], samples: [Sample { value: 3.0, timestamp: 20 }], exemplars: [] }
|
|
|
|
|
TimeSeries { labels: [Label { name: "__name__", value: "test_summary" }, Label { name: "quantile", value: "100" }], samples: [Sample { value: 5.0, timestamp: 20 }], exemplars: [] }
|
|
|
|
|
TimeSeries { labels: [Label { name: "__name__", value: "test_summary_sum" }], samples: [Sample { value: 15.0, timestamp: 20 }], exemplars: [] }
|
|
|
|
|
TimeSeries { labels: [Label { name: "__name__", value: "test_summary_count" }], samples: [Sample { value: 5.0, timestamp: 20 }], exemplars: [] }"#;
|
|
|
|
|
let ans = r#"TimeSeries { labels: [Label { name: "__name__", value: "test_summary" }, Label { name: "quantile", value: "50" }], samples: [Sample { value: 3.0, timestamp: 20 }], exemplars: [], histograms: [] }
|
|
|
|
|
TimeSeries { labels: [Label { name: "__name__", value: "test_summary" }, Label { name: "quantile", value: "100" }], samples: [Sample { value: 5.0, timestamp: 20 }], exemplars: [], histograms: [] }
|
|
|
|
|
TimeSeries { labels: [Label { name: "__name__", value: "test_summary_sum" }], samples: [Sample { value: 15.0, timestamp: 20 }], exemplars: [], histograms: [] }
|
|
|
|
|
TimeSeries { labels: [Label { name: "__name__", value: "test_summary_count" }], samples: [Sample { value: 5.0, timestamp: 20 }], exemplars: [], histograms: [] }"#;
|
|
|
|
|
assert_eq!(write_quest_str.join("\n"), ans);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -385,11 +394,11 @@ TimeSeries { labels: [Label { name: "__name__", value: "test_summary_count" }],
|
|
|
|
|
let write_quest2 = convert_metric_to_write_request(mf, Some(&filter), 0);
|
|
|
|
|
assert_eq!(
|
|
|
|
|
format!("{:?}", write_quest1.timeseries),
|
|
|
|
|
r#"[TimeSeries { labels: [Label { name: "__name__", value: "filter_counter" }, Label { name: "a", value: "1" }, Label { name: "b", value: "2" }], samples: [Sample { value: 1.0, timestamp: 0 }], exemplars: [] }, TimeSeries { labels: [Label { name: "__name__", value: "test_counter" }, Label { name: "a", value: "1" }, Label { name: "b", value: "2" }], samples: [Sample { value: 2.0, timestamp: 0 }], exemplars: [] }]"#
|
|
|
|
|
r#"[TimeSeries { labels: [Label { name: "__name__", value: "filter_counter" }, Label { name: "a", value: "1" }, Label { name: "b", value: "2" }], samples: [Sample { value: 1.0, timestamp: 0 }], exemplars: [], histograms: [] }, TimeSeries { labels: [Label { name: "__name__", value: "test_counter" }, Label { name: "a", value: "1" }, Label { name: "b", value: "2" }], samples: [Sample { value: 2.0, timestamp: 0 }], exemplars: [], histograms: [] }]"#
|
|
|
|
|
);
|
|
|
|
|
assert_eq!(
|
|
|
|
|
format!("{:?}", write_quest2.timeseries),
|
|
|
|
|
r#"[TimeSeries { labels: [Label { name: "__name__", value: "test_counter" }, Label { name: "a", value: "1" }, Label { name: "b", value: "2" }], samples: [Sample { value: 2.0, timestamp: 0 }], exemplars: [] }]"#
|
|
|
|
|
r#"[TimeSeries { labels: [Label { name: "__name__", value: "test_counter" }, Label { name: "a", value: "1" }, Label { name: "b", value: "2" }], samples: [Sample { value: 2.0, timestamp: 0 }], exemplars: [], histograms: [] }]"#
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|