@@ -22,6 +22,7 @@ use nix::{
22
22
sys:: signal:: Signal ,
23
23
unistd:: { fork, ForkResult } ,
24
24
} ;
25
+ use opentelemetry:: trace:: FutureExt as OpenTelemetryFutureExt ;
25
26
use std:: { fs:: File , io:: Write , path:: Path , process, str:: FromStr , sync:: Arc } ;
26
27
use tokio:: {
27
28
fs,
@@ -32,6 +33,7 @@ use tokio::{
32
33
} ;
33
34
use tokio_util:: compat:: TokioAsyncReadCompatExt ;
34
35
use tracing:: { debug, debug_span, info, Instrument } ;
36
+ use tracing_opentelemetry:: OpenTelemetrySpanExt ;
35
37
use tracing_subscriber:: { filter:: LevelFilter , layer:: SubscriberExt , prelude:: * } ;
36
38
use twoparty:: VatNetwork ;
37
39
@@ -162,19 +164,24 @@ impl Server {
162
164
let ( shutdown_tx, shutdown_rx) = oneshot:: channel ( ) ;
163
165
let socket = self . config ( ) . socket ( ) ;
164
166
let reaper = self . reaper . clone ( ) ;
167
+
168
+ let signal_handler_span = debug_span ! ( "signal_handler" ) ;
165
169
task:: spawn (
166
170
Self :: start_signal_handler ( reaper, socket, shutdown_tx)
167
- . instrument ( debug_span ! ( "signal_handler" ) ) ,
171
+ . with_context ( signal_handler_span. context ( ) )
172
+ . instrument ( signal_handler_span) ,
168
173
) ;
169
174
175
+ let backend_span = debug_span ! ( "backend" ) ;
170
176
task:: spawn_blocking ( move || {
171
177
Handle :: current ( ) . block_on (
172
178
async {
173
179
LocalSet :: new ( )
174
180
. run_until ( self . start_backend ( shutdown_rx) )
175
181
. await
176
182
}
177
- . instrument ( debug_span ! ( "backend" ) ) ,
183
+ . with_context ( backend_span. context ( ) )
184
+ . instrument ( backend_span) ,
178
185
)
179
186
} )
180
187
. await ?
0 commit comments