@@ -74,7 +74,7 @@ const live: Layer.Layer<
7474 . clone ( )
7575 . tag ( "providerID" , input . model . providerID )
7676 . tag ( "modelID" , input . model . id )
77- . tag ( "sessionID " , input . sessionID )
77+ . tag ( "session.id " , input . sessionID )
7878 . tag ( "small" , ( input . small ?? false ) . toString ( ) )
7979 . tag ( "agent" , input . agent . name )
8080 . tag ( "mode" , input . agent . mode )
@@ -317,6 +317,18 @@ const live: Layer.Layer<
317317 const tracer = cfg . experimental ?. openTelemetry
318318 ? Option . getOrUndefined ( yield * Effect . serviceOption ( OtelTracer . OtelTracer ) )
319319 : undefined
320+ const telemetryTracer = tracer
321+ ? new Proxy ( tracer , {
322+ get ( target , prop , receiver ) {
323+ if ( prop !== "startSpan" ) return Reflect . get ( target , prop , receiver )
324+ return ( ...args : Parameters < typeof target . startSpan > ) => {
325+ const span = target . startSpan ( ...args )
326+ span . setAttribute ( "session.id" , input . sessionID )
327+ return span
328+ }
329+ } ,
330+ } )
331+ : undefined
320332
321333 return streamText ( {
322334 onError ( error ) {
@@ -390,7 +402,7 @@ const live: Layer.Layer<
390402 experimental_telemetry : {
391403 isEnabled : cfg . experimental ?. openTelemetry ,
392404 functionId : "session.llm" ,
393- tracer,
405+ tracer : telemetryTracer ,
394406 metadata : {
395407 userId : cfg . username ?? "unknown" ,
396408 sessionId : input . sessionID ,
0 commit comments