vector/sinks/prometheus/remote_write/
mod.rs1use vector_lib::event::Metric;
9
10use crate::sinks::{
11 prelude::*,
12 util::buffer::metrics::{MetricNormalize, MetricSet},
13};
14
15mod config;
16mod request_builder;
17mod service;
18mod sink;
19
20#[cfg(test)]
21mod tests;
22
23#[cfg(all(test, feature = "prometheus-integration-tests"))]
24mod integration_tests;
25
26#[cfg(all(test, feature = "sources-prometheus-remote-write"))]
27pub use config::RemoteWriteConfig;
28
29#[cfg(feature = "aws-core")]
30#[derive(Debug, snafu::Snafu)]
31enum Errors {
32 #[snafu(display("aws.region required when AWS authentication is in use"))]
33 AwsRegionRequired,
34}
35
36#[derive(Clone, Eq, Hash, PartialEq)]
37struct PartitionKey {
38 tenant_id: Option<String>,
39}
40
41#[derive(Default)]
42pub struct PrometheusMetricNormalize;
43
44impl MetricNormalize for PrometheusMetricNormalize {
45 fn normalize(&mut self, state: &mut MetricSet, metric: Metric) -> Option<Metric> {
46 state.make_absolute(metric)
47 }
48}