File tree Expand file tree Collapse file tree 2 files changed +19
-4
lines changed
rust/cubestore/cubestore/src Expand file tree Collapse file tree 2 files changed +19
-4
lines changed Original file line number Diff line number Diff line change @@ -55,9 +55,6 @@ fn main() {
5555 ) )
5656 } )
5757 . unwrap ( ) ;
58- if enable_telemetry {
59- init_tracing_telemetry ( ) ;
60- }
6158 init_cube_logger ( enable_telemetry) ;
6259
6360 log:: info!( "Cube Store version {}" , version) ;
@@ -83,6 +80,10 @@ fn main() {
8380 }
8481 let runtime = tokio_builder. build ( ) . unwrap ( ) ;
8582 runtime. block_on ( async move {
83+ if enable_telemetry {
84+ init_tracing_telemetry ( version) ;
85+ }
86+ // TODO: Should this be avoided if otel is configured?
8687 init_agent_sender ( ) . await ;
8788
8889 validate_config ( config. config_obj ( ) . as_ref ( ) ) . report_and_abort_on_errors ( ) ;
@@ -99,6 +100,12 @@ fn main() {
99100
100101 stop_on_ctrl_c ( & services) . await ;
101102 services. wait_processing_loops ( ) . await . unwrap ( ) ;
103+
104+ if enable_telemetry {
105+ // This still doesn't prevent errors:
106+ // OpenTelemetry trace error occurred. cannot send message to batch processor as the channel is closed
107+ opentelemetry:: global:: shutdown_tracer_provider ( ) ;
108+ }
102109 } ) ;
103110}
104111
Original file line number Diff line number Diff line change 11use log:: { Log , Metadata , Record } ;
22use opentelemetry:: trace:: TracerProvider ;
3+ use opentelemetry:: KeyValue ;
4+ use opentelemetry_sdk:: Resource ;
35use tracing_log:: LogTracer ;
46use tracing_subscriber:: layer:: SubscriberExt ;
57use tracing_subscriber:: Registry ;
68
79const OTEL_SERVICE_NAME : & str = "cubestore" ;
810
9- pub fn init_tracing_telemetry ( ) {
11+ pub fn init_tracing_telemetry ( version : String ) {
1012 let otlp_exporter = opentelemetry_otlp:: new_exporter ( )
1113 . http ( )
1214 . with_http_client ( reqwest:: Client :: new ( ) ) ;
1315 let tracer_provider = opentelemetry_otlp:: new_pipeline ( )
1416 . tracing ( )
1517 . with_exporter ( otlp_exporter)
18+ . with_trace_config ( opentelemetry_sdk:: trace:: Config :: default ( ) . with_resource (
19+ Resource :: new ( vec ! [
20+ KeyValue :: new( "service.name" , OTEL_SERVICE_NAME ) ,
21+ KeyValue :: new( "service.version" , version) ,
22+ ] ) ,
23+ ) )
1624 . install_batch ( opentelemetry_sdk:: runtime:: Tokio )
1725 . expect ( "Should be able to initialise the tracer_provider" ) ;
1826
You can’t perform that action at this time.
0 commit comments