mirror of
https://forgejo.ellis.link/continuwuation/continuwuity.git
synced 2026-05-26 20:49:55 +00:00
feat: Split otlp exporter into a new, enabled-by-default feature
This commit is contained in:
+7
-3
@@ -63,7 +63,8 @@ standard = [
|
|||||||
"systemd",
|
"systemd",
|
||||||
"url_preview",
|
"url_preview",
|
||||||
"zstd_compression",
|
"zstd_compression",
|
||||||
"sentry_telemetry"
|
"sentry_telemetry",
|
||||||
|
"otlp_telemetry"
|
||||||
]
|
]
|
||||||
full = [
|
full = [
|
||||||
"standard",
|
"standard",
|
||||||
@@ -124,12 +125,15 @@ ldap = [
|
|||||||
media_thumbnail = [
|
media_thumbnail = [
|
||||||
"conduwuit-service/media_thumbnail",
|
"conduwuit-service/media_thumbnail",
|
||||||
]
|
]
|
||||||
perf_measurements = [
|
otlp_telemetry = [
|
||||||
"dep:opentelemetry",
|
"dep:opentelemetry",
|
||||||
"dep:tracing-flame",
|
|
||||||
"dep:tracing-opentelemetry",
|
"dep:tracing-opentelemetry",
|
||||||
"dep:opentelemetry_sdk",
|
"dep:opentelemetry_sdk",
|
||||||
"dep:opentelemetry-otlp",
|
"dep:opentelemetry-otlp",
|
||||||
|
]
|
||||||
|
perf_measurements = [
|
||||||
|
"dep:tracing-flame",
|
||||||
|
"otlp_telemetry",
|
||||||
"conduwuit-core/perf_measurements",
|
"conduwuit-core/perf_measurements",
|
||||||
"conduwuit-core/sentry_telemetry",
|
"conduwuit-core/sentry_telemetry",
|
||||||
]
|
]
|
||||||
|
|||||||
+26
-21
@@ -7,7 +7,7 @@ use conduwuit_core::{
|
|||||||
log::{ConsoleFormat, ConsoleWriter, LogLevelReloadHandles, capture, fmt_span},
|
log::{ConsoleFormat, ConsoleWriter, LogLevelReloadHandles, capture, fmt_span},
|
||||||
result::UnwrapOrErr,
|
result::UnwrapOrErr,
|
||||||
};
|
};
|
||||||
#[cfg(feature = "perf_measurements")]
|
#[cfg(feature = "otlp_telemetry")]
|
||||||
use opentelemetry::trace::TracerProvider;
|
use opentelemetry::trace::TracerProvider;
|
||||||
use tracing_subscriber::{EnvFilter, Layer, Registry, fmt, layer::SubscriberExt, reload};
|
use tracing_subscriber::{EnvFilter, Layer, Registry, fmt, layer::SubscriberExt, reload};
|
||||||
|
|
||||||
@@ -70,25 +70,8 @@ pub(crate) fn init(
|
|||||||
subscriber.with(sentry_layer.with_filter(sentry_reload_filter))
|
subscriber.with(sentry_layer.with_filter(sentry_reload_filter))
|
||||||
};
|
};
|
||||||
|
|
||||||
#[cfg(feature = "perf_measurements")]
|
#[cfg(feature = "otlp_telemetry")]
|
||||||
let (subscriber, flame_guard) = {
|
let subscriber = {
|
||||||
let (flame_layer, flame_guard) = if config.tracing_flame {
|
|
||||||
let flame_filter = EnvFilter::try_new(&config.tracing_flame_filter)
|
|
||||||
.map_err(|e| err!(Config("tracing_flame_filter", "{e}.")))?;
|
|
||||||
|
|
||||||
let (flame_layer, flame_guard) =
|
|
||||||
tracing_flame::FlameLayer::with_file(&config.tracing_flame_output_path)
|
|
||||||
.map_err(|e| err!(Config("tracing_flame_output_path", "{e}.")))?;
|
|
||||||
|
|
||||||
let flame_layer = flame_layer
|
|
||||||
.with_empty_samples(false)
|
|
||||||
.with_filter(flame_filter);
|
|
||||||
|
|
||||||
(Some(flame_layer), Some(flame_guard))
|
|
||||||
} else {
|
|
||||||
(None, None)
|
|
||||||
};
|
|
||||||
|
|
||||||
let otlp_filter = EnvFilter::try_new(&config.otlp_filter)
|
let otlp_filter = EnvFilter::try_new(&config.otlp_filter)
|
||||||
.map_err(|e| err!(Config("otlp_filter", "{e}.")))?;
|
.map_err(|e| err!(Config("otlp_filter", "{e}.")))?;
|
||||||
|
|
||||||
@@ -117,7 +100,29 @@ pub(crate) fn init(
|
|||||||
Some(telemetry.with_filter(otlp_reload_filter))
|
Some(telemetry.with_filter(otlp_reload_filter))
|
||||||
});
|
});
|
||||||
|
|
||||||
let subscriber = subscriber.with(flame_layer).with(otlp_layer);
|
subscriber.with(otlp_layer)
|
||||||
|
};
|
||||||
|
|
||||||
|
#[cfg(feature = "perf_measurements")]
|
||||||
|
let (subscriber, flame_guard) = {
|
||||||
|
let (flame_layer, flame_guard) = if config.tracing_flame {
|
||||||
|
let flame_filter = EnvFilter::try_new(&config.tracing_flame_filter)
|
||||||
|
.map_err(|e| err!(Config("tracing_flame_filter", "{e}.")))?;
|
||||||
|
|
||||||
|
let (flame_layer, flame_guard) =
|
||||||
|
tracing_flame::FlameLayer::with_file(&config.tracing_flame_output_path)
|
||||||
|
.map_err(|e| err!(Config("tracing_flame_output_path", "{e}.")))?;
|
||||||
|
|
||||||
|
let flame_layer = flame_layer
|
||||||
|
.with_empty_samples(false)
|
||||||
|
.with_filter(flame_filter);
|
||||||
|
|
||||||
|
(Some(flame_layer), Some(flame_guard))
|
||||||
|
} else {
|
||||||
|
(None, None)
|
||||||
|
};
|
||||||
|
|
||||||
|
let subscriber = subscriber.with(flame_layer);
|
||||||
(subscriber, flame_guard)
|
(subscriber, flame_guard)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user