mirror of
https://gitlab.computer.surgery/matrix/grapevine.git
synced 2025-12-17 07:41:23 +01:00
Move observability config to separate config section
This renames: allow_prometheus -> observability.metrics.enable allow_jaeger -> observability.traces.enable tracing_flame -> observability.flame.enable log -> observability.logs.filter log_colors -> observability.logs.colors log_format -> observability.logs.format New config values in these sections will follow.
This commit is contained in:
parent
8a30817930
commit
98d49554ce
3 changed files with 68 additions and 22 deletions
|
|
@ -87,7 +87,9 @@ pub(crate) enum FoundIn {
|
|||
/// Initialize observability
|
||||
pub(crate) fn init(config: &Config) -> Result<Guard, error::Observability> {
|
||||
let jaeger_layer = config
|
||||
.allow_jaeger
|
||||
.observability
|
||||
.traces
|
||||
.enable
|
||||
.then(|| {
|
||||
opentelemetry::global::set_text_map_propagator(
|
||||
opentelemetry_jaeger_propagator::Propagator::new(),
|
||||
|
|
@ -102,36 +104,41 @@ pub(crate) fn init(config: &Config) -> Result<Guard, error::Observability> {
|
|||
.install_batch(opentelemetry_sdk::runtime::Tokio)?;
|
||||
let telemetry = tracing_opentelemetry::layer().with_tracer(tracer);
|
||||
|
||||
Ok::<_, error::Observability>(
|
||||
telemetry.with_filter(EnvFilter::from(&config.log)),
|
||||
)
|
||||
Ok::<_, error::Observability>(telemetry.with_filter(
|
||||
EnvFilter::from(&config.observability.logs.filter),
|
||||
))
|
||||
})
|
||||
.transpose()?;
|
||||
|
||||
let (flame_layer, flame_guard) = config
|
||||
.tracing_flame
|
||||
.observability
|
||||
.flame
|
||||
.enable
|
||||
.then(|| {
|
||||
let (flame_layer, guard) =
|
||||
FlameLayer::with_file("./tracing.folded")?;
|
||||
let flame_layer = flame_layer.with_empty_samples(false);
|
||||
|
||||
Ok::<_, error::Observability>((
|
||||
flame_layer.with_filter(EnvFilter::from(&config.log)),
|
||||
flame_layer.with_filter(EnvFilter::from(
|
||||
&config.observability.logs.filter,
|
||||
)),
|
||||
guard,
|
||||
))
|
||||
})
|
||||
.transpose()?
|
||||
.unzip();
|
||||
|
||||
let fmt_layer =
|
||||
tracing_subscriber::fmt::Layer::new().with_ansi(config.log_colors);
|
||||
let fmt_layer = match config.log_format {
|
||||
let fmt_layer = tracing_subscriber::fmt::Layer::new()
|
||||
.with_ansi(config.observability.logs.colors);
|
||||
let fmt_layer = match config.observability.logs.format {
|
||||
LogFormat::Pretty => fmt_layer.pretty().boxed(),
|
||||
LogFormat::Full => fmt_layer.boxed(),
|
||||
LogFormat::Compact => fmt_layer.compact().boxed(),
|
||||
LogFormat::Json => fmt_layer.json().boxed(),
|
||||
};
|
||||
let fmt_layer = fmt_layer.with_filter(EnvFilter::from(&config.log));
|
||||
let fmt_layer = fmt_layer
|
||||
.with_filter(EnvFilter::from(&config.observability.logs.filter));
|
||||
|
||||
let subscriber = Registry::default()
|
||||
.with(jaeger_layer)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue