@@ -310,34 +310,39 @@ fn build_extra(args: &ListenerArgs) -> (f64, Extra) {
310310fn build_trace_headers ( args : & ListenerArgs , provider_name : & str ) -> TraceHeaders {
311311 let mut trace_headers = TraceHeaders :: default ( ) ;
312312
313- sentry:: configure_scope ( |scope| {
314- scope. set_tag ( "session_id" , & args. session_id ) ;
315- scope. set_tag ( "stt_provider" , provider_name) ;
316- scope. set_tag ( "channel_mode" , format ! ( "{:?}" , args. mode) ) ;
317- scope. set_tag ( "model" , & args. model ) ;
318- scope. set_tag (
319- "languages" ,
320- args. languages
321- . iter ( )
322- . map ( |l| l. iso639 ( ) . code ( ) )
323- . collect :: < Vec < _ > > ( )
324- . join ( "," ) ,
325- ) ;
326- scope. set_tag ( "onboarding" , args. onboarding . to_string ( ) ) ;
327-
328- if let Some ( span) = scope. get_span ( ) {
329- trace_headers. sentry_trace = span
330- . iter_headers ( )
331- . find ( |( k, _) | * k == "sentry-trace" )
332- . map ( |( _, v) | v. to_string ( ) )
333- . filter ( |s| !s. is_empty ( ) ) ;
334- trace_headers. baggage = span
335- . iter_headers ( )
336- . find ( |( k, _) | * k == "baggage" )
337- . map ( |( _, v) | v. to_string ( ) )
338- . filter ( |s| !s. is_empty ( ) ) ;
339- }
340- } ) ;
313+ sentry:: with_scope (
314+ |scope| {
315+ scope. set_tag ( "session_id" , & args. session_id ) ;
316+ scope. set_tag ( "stt_provider" , provider_name) ;
317+ scope. set_tag ( "channel_mode" , format ! ( "{:?}" , args. mode) ) ;
318+ scope. set_tag ( "model" , & args. model ) ;
319+ scope. set_tag (
320+ "languages" ,
321+ args. languages
322+ . iter ( )
323+ . map ( |l| l. iso639 ( ) . code ( ) )
324+ . collect :: < Vec < _ > > ( )
325+ . join ( "," ) ,
326+ ) ;
327+ scope. set_tag ( "onboarding" , args. onboarding . to_string ( ) ) ;
328+ } ,
329+ || {
330+ sentry:: configure_scope ( |scope| {
331+ if let Some ( span) = scope. get_span ( ) {
332+ trace_headers. sentry_trace = span
333+ . iter_headers ( )
334+ . find ( |( k, _) | * k == "sentry-trace" )
335+ . map ( |( _, v) | v. to_string ( ) )
336+ . filter ( |s| !s. is_empty ( ) ) ;
337+ trace_headers. baggage = span
338+ . iter_headers ( )
339+ . find ( |( k, _) | * k == "baggage" )
340+ . map ( |( _, v) | v. to_string ( ) )
341+ . filter ( |s| !s. is_empty ( ) ) ;
342+ }
343+ } ) ;
344+ } ,
345+ ) ;
341346
342347 trace_headers
343348}
0 commit comments