@@ -166,7 +166,7 @@ where
166
166
let request_id = remote_traceparent ( & req) ;
167
167
async move {
168
168
self_
169
- . handle_request ( req)
169
+ . handle_request ( & request_id , req)
170
170
. instrument ( tracing:: info_span!( "http_handler" , request_id) )
171
171
. await
172
172
}
@@ -179,6 +179,7 @@ where
179
179
/// handle HTTP request.
180
180
async fn handle_request < B > (
181
181
& self ,
182
+ request_id : & str ,
182
183
mut request : Request < B > ,
183
184
) -> Result < Response < BoxBody < Bytes , hyper:: Error > > >
184
185
where
@@ -289,6 +290,7 @@ where
289
290
billing_plan : cfg. plan . to_string ( ) ,
290
291
time_elapsed : time_elapsed. as_micros ( ) as u64 ,
291
292
memory_used : memory_used. as_u64 ( ) ,
293
+ request_id : request_id. to_string ( ) ,
292
294
..Default :: default ( )
293
295
} ;
294
296
self . context . write_stats ( stat_row) . await ;
@@ -372,12 +374,13 @@ where
372
374
billing_plan : cfg. plan . to_string ( ) ,
373
375
time_elapsed : time_elapsed. as_micros ( ) as u64 ,
374
376
memory_used : 0 ,
377
+ request_id : request_id. to_string ( ) ,
375
378
..Default :: default ( )
376
379
} ;
377
380
self . context . write_stats ( stat_row) . await ;
378
381
}
379
382
#[ cfg( not( feature = "stats" ) ) ]
380
- tracing:: debug!( ?fail_reason, "stats" ) ;
383
+ tracing:: debug!( ?fail_reason, request_id , "stats" ) ;
381
384
382
385
#[ cfg( feature = "metrics" ) ]
383
386
metrics:: metrics ( fail_reason) ;
@@ -399,7 +402,7 @@ fn remote_traceparent(req: &Request<hyper::body::Incoming>) -> String {
399
402
req. headers ( )
400
403
. get ( TRACEPARENT )
401
404
. and_then ( |v| v. to_str ( ) . ok ( ) )
402
- . map ( |s| s. to_owned ( ) )
405
+ . map ( |s| s. to_string ( ) )
403
406
. unwrap_or ( nanoid:: nanoid!( ) )
404
407
}
405
408
@@ -709,7 +712,7 @@ mod tests {
709
712
let http_service: HttpService < TestContext > =
710
713
assert_ok ! ( ServiceBuilder :: new( context) . build( ) ) ;
711
714
712
- let res = assert_ok ! ( http_service. handle_request( req) . await ) ;
715
+ let res = assert_ok ! ( http_service. handle_request( "1" , req) . await ) ;
713
716
assert_eq ! ( StatusCode :: OK , res. status( ) ) ;
714
717
let headers = res. headers ( ) ;
715
718
assert_eq ! ( 4 , headers. len( ) ) ;
@@ -758,7 +761,7 @@ mod tests {
758
761
let http_service: HttpService < TestContext > =
759
762
assert_ok ! ( ServiceBuilder :: new( context) . build( ) ) ;
760
763
761
- let res = assert_ok ! ( http_service. handle_request( req) . await ) ;
764
+ let res = assert_ok ! ( http_service. handle_request( "2" , req) . await ) ;
762
765
assert_eq ! ( FASTEDGE_EXECUTION_TIMEOUT , res. status( ) ) ;
763
766
let headers = res. headers ( ) ;
764
767
assert_eq ! ( 3 , headers. len( ) ) ;
@@ -806,7 +809,7 @@ mod tests {
806
809
let http_service: HttpService < TestContext > =
807
810
assert_ok ! ( ServiceBuilder :: new( context) . build( ) ) ;
808
811
809
- let res = assert_ok ! ( http_service. handle_request( req) . await ) ;
812
+ let res = assert_ok ! ( http_service. handle_request( "3" , req) . await ) ;
810
813
assert_eq ! ( FASTEDGE_OUT_OF_MEMORY , res. status( ) ) ;
811
814
let headers = res. headers ( ) ;
812
815
assert_eq ! ( 3 , headers. len( ) ) ;
@@ -839,7 +842,7 @@ mod tests {
839
842
840
843
let http_service: HttpService < TestContext > =
841
844
assert_ok ! ( ServiceBuilder :: new( context) . build( ) ) ;
842
- let res = assert_ok ! ( http_service. handle_request( req) . await ) ;
845
+ let res = assert_ok ! ( http_service. handle_request( "4" , req) . await ) ;
843
846
assert_eq ! ( StatusCode :: NOT_FOUND , res. status( ) ) ;
844
847
assert_eq ! ( 0 , res. headers( ) . len( ) ) ;
845
848
}
@@ -865,7 +868,7 @@ mod tests {
865
868
866
869
let http_service: HttpService < TestContext > =
867
870
assert_ok ! ( ServiceBuilder :: new( context) . build( ) ) ;
868
- let res = assert_ok ! ( http_service. handle_request( req) . await ) ;
871
+ let res = assert_ok ! ( http_service. handle_request( "5" , req) . await ) ;
869
872
assert_eq ! ( StatusCode :: NOT_FOUND , res. status( ) ) ;
870
873
assert_eq ! ( 0 , res. headers( ) . len( ) ) ;
871
874
}
@@ -891,7 +894,7 @@ mod tests {
891
894
892
895
let http_service: HttpService < TestContext > =
893
896
assert_ok ! ( ServiceBuilder :: new( context) . build( ) ) ;
894
- let res = assert_ok ! ( http_service. handle_request( req) . await ) ;
897
+ let res = assert_ok ! ( http_service. handle_request( "6" , req) . await ) ;
895
898
assert_eq ! ( StatusCode :: TOO_MANY_REQUESTS , res. status( ) ) ;
896
899
assert_eq ! ( 0 , res. headers( ) . len( ) ) ;
897
900
}
@@ -917,7 +920,7 @@ mod tests {
917
920
918
921
let http_service: HttpService < TestContext > =
919
922
assert_ok ! ( ServiceBuilder :: new( context) . build( ) ) ;
920
- let res = assert_ok ! ( http_service. handle_request( req) . await ) ;
923
+ let res = assert_ok ! ( http_service. handle_request( "7" , req) . await ) ;
921
924
assert_eq ! ( StatusCode :: NOT_ACCEPTABLE , res. status( ) ) ;
922
925
assert_eq ! ( 0 , res. headers( ) . len( ) ) ;
923
926
}
0 commit comments