mirror of
https://forgejo.ellis.link/continuwuation/continuwuity.git
synced 2026-11-14 04:37:00 +00:00
refactor: Delegate otlp_protocol to standard OTLP env variables
This commit is contained in:
6 files changed
+20
-64
No files matched your search
+3
-25
@@ -6,12 +6,9 @@ use conduwuit_core::{
|
||||
debug_warn, err,
|
||||
log::{ConsoleFormat, ConsoleWriter, LogLevelReloadHandles, capture, fmt_span},
|
||||
result::UnwrapOrErr,
|
||||
warn,
|
||||
};
|
||||
#[cfg(feature = "otlp_telemetry")]
|
||||
use opentelemetry::trace::TracerProvider;
|
||||
#[cfg(feature = "otlp_telemetry")]
|
||||
use opentelemetry_otlp::WithExportConfig;
|
||||
use tracing_subscriber::{EnvFilter, Layer, Registry, fmt, layer::SubscriberExt, reload};
|
||||
|
||||
#[cfg(feature = "perf_measurements")]
|
||||
@@ -83,28 +80,9 @@ pub(crate) fn init(
|
||||
opentelemetry_sdk::propagation::TraceContextPropagator::new(),
|
||||
);
|
||||
|
||||
let exporter = match config.otlp_protocol.as_str() {
|
||||
| "grpc" => opentelemetry_otlp::SpanExporter::builder()
|
||||
.with_tonic()
|
||||
.with_protocol(opentelemetry_otlp::Protocol::Grpc) // TODO: build from env when 0.32 is released
|
||||
.build()
|
||||
.expect("Failed to create OTLP gRPC exporter"),
|
||||
| "http" => opentelemetry_otlp::SpanExporter::builder()
|
||||
.with_http()
|
||||
.build()
|
||||
.expect("Failed to create OTLP HTTP exporter"),
|
||||
| protocol => {
|
||||
warn!(
|
||||
"Invalid OTLP protocol '{}', falling back to HTTP. Valid options are \
|
||||
'http' or 'grpc'.",
|
||||
protocol
|
||||
);
|
||||
opentelemetry_otlp::SpanExporter::builder()
|
||||
.with_http()
|
||||
.build()
|
||||
.expect("Failed to create OTLP HTTP exporter")
|
||||
},
|
||||
};
|
||||
let exporter = opentelemetry_otlp::SpanExporter::builder()
|
||||
.build()
|
||||
.expect("Failed to create OTLP span exporter");
|
||||
|
||||
let provider = opentelemetry_sdk::trace::SdkTracerProvider::builder()
|
||||
.with_resource(crate::metrics::resource(config))
|
||||
|
||||
+4
-9
@@ -56,16 +56,11 @@ pub(crate) fn init(
|
||||
|
||||
#[cfg(feature = "otlp_telemetry")]
|
||||
if config.allow_otlp_metrics {
|
||||
use opentelemetry_otlp::{MetricExporter, Protocol, WithExportConfig};
|
||||
use opentelemetry_otlp::MetricExporter;
|
||||
|
||||
let exporter = match config.otlp_protocol.as_str() {
|
||||
| "grpc" => MetricExporter::builder()
|
||||
.with_tonic()
|
||||
.with_protocol(Protocol::Grpc)
|
||||
.build(),
|
||||
| _ => MetricExporter::builder().with_http().build(),
|
||||
}
|
||||
.map_err(|e| err!(Config("allow_otlp_metrics", "{e}")))?;
|
||||
let exporter = MetricExporter::builder()
|
||||
.build()
|
||||
.map_err(|e| err!(Config("allow_otlp_metrics", "{e}")))?;
|
||||
|
||||
builder = builder.with_periodic_exporter(exporter);
|
||||
readers = true;
|
||||
|
||||
Reference in new issue
Block a user