@@ -5,16 +5,19 @@ use skardi_server::{create_server, load_server_config, telemetry, CliArgs};
55use tracing:: { error, info} ;
66use tracing_subscriber:: { layer:: SubscriberExt , util:: SubscriberInitExt } ;
77
8- const DEFAULT_OTLP_ENDPOINT : & str = "http://localhost:4317" ;
9-
108#[ tokio:: main]
119async fn main ( ) -> Result < ( ) > {
12- // Initialise OpenTelemetry (traces + metrics) before the tracing subscriber
13- let otlp_endpoint =
14- std:: env:: var ( "OTLP_ENDPOINT" ) . unwrap_or_else ( |_| DEFAULT_OTLP_ENDPOINT . to_string ( ) ) ;
15- let ( _telemetry_guard, tracer) = telemetry:: init ( & otlp_endpoint) ?;
10+ // Initialise OpenTelemetry only when OTLP_ENDPOINT is explicitly set.
11+ let otlp_endpoint = std:: env:: var ( "OTLP_ENDPOINT" ) . ok ( ) ;
12+ let ( _telemetry_guard, otel_layer) = match telemetry:: init ( otlp_endpoint. as_deref ( ) ) ? {
13+ Some ( ( guard, tracer) ) => (
14+ Some ( guard) ,
15+ Some ( tracing_opentelemetry:: layer ( ) . with_tracer ( tracer) ) ,
16+ ) ,
17+ None => ( None , None ) ,
18+ } ;
1619
17- // Initialize tracing subscriber: fmt to stdout + OTel trace export
20+ // Initialize tracing subscriber: fmt to stdout, plus OTel layer when enabled.
1821 tracing_subscriber:: registry ( )
1922 . with (
2023 tracing_subscriber:: EnvFilter :: try_from_default_env ( ) . unwrap_or_else ( |_| "info" . into ( ) ) ,
@@ -23,7 +26,7 @@ async fn main() -> Result<()> {
2326 tracing_subscriber:: fmt:: layer ( )
2427 . with_span_events ( tracing_subscriber:: fmt:: format:: FmtSpan :: CLOSE ) ,
2528 )
26- . with ( tracing_opentelemetry :: layer ( ) . with_tracer ( tracer ) )
29+ . with ( otel_layer )
2730 . init ( ) ;
2831
2932 info ! ( "🚀 Starting Skardi Online Serving Pipeline Server" ) ;
0 commit comments