@@ -55,7 +55,6 @@ use deno_cache::SqliteBackedCache;
5555use deno_core:: error:: AnyError ;
5656use deno_core:: error:: JsError ;
5757use deno_core:: serde_json;
58- use deno_core:: serde_json:: Value ;
5958use deno_core:: url:: Url ;
6059use deno_core:: v8;
6160use deno_core:: v8:: GCCallbackFlags ;
@@ -80,7 +79,6 @@ use deno_facade::EmitterFactory;
8079use deno_facade:: EszipPayloadKind ;
8180use deno_facade:: Metadata ;
8281use either:: Either ;
83- use ext_event_worker:: events:: EventMetadata ;
8482use ext_event_worker:: events:: WorkerEventWithMetadata ;
8583use ext_runtime:: cert:: ValueRootCertStoreProvider ;
8684use ext_runtime:: external_memory:: CustomAllocator ;
@@ -462,6 +460,7 @@ where
462460 pub ( crate ) async fn new ( mut worker : Worker ) -> Result < Self , Error > {
463461 let init_opts = worker. init_opts . take ( ) ;
464462 let flags = worker. flags . clone ( ) ;
463+ let event_metadata = worker. event_metadata . clone ( ) ;
465464
466465 debug_assert ! ( init_opts. is_some( ) , "init_opts must not be None" ) ;
467466
@@ -1111,7 +1110,6 @@ where
11111110 s3_fs,
11121111 beforeunload_cpu_threshold,
11131112 beforeunload_mem_threshold,
1114- context,
11151113 ..
11161114 } = match bootstrap_ret {
11171115 Ok ( Ok ( v) ) => v,
@@ -1123,7 +1121,7 @@ where
11231121 }
11241122 } ;
11251123
1126- let context = context . unwrap_or_default ( ) ;
1124+ let otel_attributes = event_metadata . otel_attributes . clone ( ) ;
11271125 let span = Span :: current ( ) ;
11281126 let post_task_ret = unsafe {
11291127 spawn_blocking_non_send ( || {
@@ -1151,46 +1149,30 @@ where
11511149 op_state. put :: < HashMap < usize , CancellationToken > > ( HashMap :: new ( ) ) ;
11521150 }
11531151
1154- let mut otel_attributes = HashMap :: new ( ) ;
1155-
1156- otel_attributes. insert (
1157- "edge_runtime.worker.kind" . into ( ) ,
1158- conf. to_worker_kind ( ) . to_string ( ) . into ( ) ,
1159- ) ;
1160-
11611152 if conf. is_user_worker ( ) {
11621153 let conf = conf. as_user_worker ( ) . unwrap ( ) ;
11631154 let key = conf. key . map_or ( "" . to_string ( ) , |k| k. to_string ( ) ) ;
11641155
11651156 // set execution id for user workers
11661157 env_vars. insert ( "SB_EXECUTION_ID" . to_string ( ) , key. clone ( ) ) ;
11671158
1168- if let Some ( Value :: Object ( attributes) ) = context. get ( "otel" ) {
1169- for ( k, v) in attributes {
1170- otel_attributes. insert (
1171- k. to_string ( ) . into ( ) ,
1172- match v {
1173- Value :: String ( str) => str. to_string ( ) . into ( ) ,
1174- others => others. to_string ( ) . into ( ) ,
1175- } ,
1176- ) ;
1177- }
1178- }
1179-
11801159 if let Some ( events_msg_tx) = conf. events_msg_tx . clone ( ) {
11811160 op_state. put :: < mpsc:: UnboundedSender < WorkerEventWithMetadata > > (
11821161 events_msg_tx,
11831162 ) ;
1184- op_state. put :: < EventMetadata > ( EventMetadata {
1185- service_path : conf. service_path . clone ( ) ,
1186- execution_id : conf. key ,
1187- } ) ;
1163+ op_state. put ( event_metadata) ;
11881164 }
11891165 }
11901166
11911167 op_state. put ( ext_env:: EnvVars ( env_vars) ) ;
11921168 op_state. put ( DenoRuntimeDropToken ( DropToken ( drop_token. clone ( ) ) ) ) ;
1193- op_state. put ( RuntimeOtelExtraAttributes ( otel_attributes) ) ;
1169+ op_state. put ( RuntimeOtelExtraAttributes (
1170+ otel_attributes
1171+ . unwrap_or_default ( )
1172+ . into_iter ( )
1173+ . map ( |( k, v) | ( k. into ( ) , v. into ( ) ) )
1174+ . collect ( ) ,
1175+ ) ) ;
11941176 }
11951177
11961178 if is_user_worker {
0 commit comments