mod reader;
mod view;
pub(crate) use reader::MetricReader;
pub(crate) use view::ViewConfig;
use apollo_configuration::configuration;
#[configuration]
pub(crate) struct MeterProviderConfig {
pub(crate) readers: Vec<MetricReader>,
pub(crate) views: Vec<ViewConfig>,
}
#[cfg(test)]
mod tests {
use apollo_configuration::parse_yaml;
use crate::config::OpenTelemetryConfig;
#[test]
fn parse_meter_provider() {
let config: OpenTelemetryConfig = parse_yaml(
indoc::indoc! {"
meter_provider:
readers:
- periodic:
exporter:
console: {}
interval: 60000
"},
&Default::default(),
)
.unwrap();
assert_eq!(config.meter_provider.readers.len(), 1);
}
}