use apollo_configuration::configuration;
use crate::config::MetricExporter;
#[configuration]
pub(crate) enum MetricReader {
Periodic(PeriodicMetricReaderConfig),
Pull(PullMetricReaderConfig),
}
#[configuration]
pub(crate) struct PeriodicMetricReaderConfig {
#[config(required)]
pub(crate) exporter: MetricExporter,
#[config(default = 60000)]
pub(crate) interval: u64,
#[config(default = 30000)]
pub(crate) timeout: u64,
}
#[configuration]
pub(crate) struct PullMetricReaderConfig {
#[config(required)]
pub(crate) exporter: MetricExporter,
}