@@ -152,6 +152,7 @@ export default class Runner extends EventEmitter {
152152 hooks : SuiteHooks = { beforeAll : [ ] , afterAll : [ ] } ;
153153 hookError : Error | undefined ;
154154 static screenshotPath = join ( CACHE_PATH , 'screenshots' ) ;
155+ traceparent : string ;
155156
156157 static async createContext ( options : RunOptions ) : Promise < JourneyContext > {
157158 const driver = await Gatherer . setupDriver ( options ) ;
@@ -260,6 +261,18 @@ export default class Runner extends EventEmitter {
260261 * step level plugins
261262 */
262263 const traceEnabled = trace || filmstrips ;
264+ this . traceparent = step . span . traceparent ;
265+ const handler = ( route , request ) => {
266+ console . log ( 'traceparent' , this . traceparent ) ;
267+ const headers = {
268+ traceparent : this . traceparent ,
269+ ...request . headers ( ) ,
270+ } ;
271+ route . continue ( {
272+ headers,
273+ } ) ;
274+ } ;
275+ context . driver . page . route ( / i n d e x | u n k n o w n / , handler ) ;
263276 pluginManager . onStep ( step ) ;
264277 traceEnabled && ( await pluginManager . start ( 'trace' ) ) ;
265278 // call the step definition
@@ -276,6 +289,7 @@ export default class Runner extends EventEmitter {
276289 const traceOutput = await pluginManager . stop ( 'trace' ) ;
277290 Object . assign ( data , traceOutput ) ;
278291 }
292+ context . driver . page . unroute ( / i n d e x | u n k n o w n / , handler ) ;
279293 } catch ( error ) {
280294 data . status = 'failed' ;
281295 data . error = error ;
@@ -329,6 +343,7 @@ export default class Runner extends EventEmitter {
329343 if ( options . pauseOnError && data . error ) {
330344 await new Promise ( r => process . stdin . on ( 'data' , r ) ) ;
331345 }
346+ step . span . end ( ) ;
332347 results . push ( data ) ;
333348 }
334349 return results ;
@@ -373,6 +388,7 @@ export default class Runner extends EventEmitter {
373388 }
374389 // clear screenshots cache after each journey
375390 await rm ( Runner . screenshotPath , { recursive : true , force : true } ) ;
391+ journey . transaction . end ( ) ;
376392 }
377393
378394 /**
@@ -400,6 +416,7 @@ export default class Runner extends EventEmitter {
400416 if ( options . reporter === 'json' ) {
401417 await once ( this , 'journey:end:reported' ) ;
402418 }
419+ journey . transaction . end ( ) ;
403420 return result ;
404421 }
405422
0 commit comments