@@ -132,6 +132,7 @@ export default class Runner extends EventEmitter {
132132 hooks : SuiteHooks = { beforeAll : [ ] , afterAll : [ ] } ;
133133 hookError : Error | undefined ;
134134 static screenshotPath = join ( CACHE_PATH , 'screenshots' ) ;
135+ traceparent : string ;
135136
136137 static async createContext ( options : RunOptions ) : Promise < JourneyContext > {
137138 const driver = await Gatherer . setupDriver ( options ) ;
@@ -240,6 +241,18 @@ export default class Runner extends EventEmitter {
240241 * step level plugins
241242 */
242243 const traceEnabled = trace || filmstrips ;
244+ this . traceparent = step . span . traceparent ;
245+ const handler = ( route , request ) => {
246+ console . log ( 'traceparent' , this . traceparent ) ;
247+ const headers = {
248+ traceparent : this . traceparent ,
249+ ...request . headers ( ) ,
250+ } ;
251+ route . continue ( {
252+ headers,
253+ } ) ;
254+ } ;
255+ context . driver . page . route ( / i n d e x | u n k n o w n / , handler ) ;
243256 pluginManager . onStep ( step ) ;
244257 traceEnabled && ( await pluginManager . start ( 'trace' ) ) ;
245258 // call the step definition
@@ -256,6 +269,7 @@ export default class Runner extends EventEmitter {
256269 const traceOutput = await pluginManager . stop ( 'trace' ) ;
257270 Object . assign ( data , traceOutput ) ;
258271 }
272+ context . driver . page . unroute ( / i n d e x | u n k n o w n / , handler ) ;
259273 } catch ( error ) {
260274 data . status = 'failed' ;
261275 data . error = error ;
@@ -309,6 +323,7 @@ export default class Runner extends EventEmitter {
309323 if ( options . pauseOnError && data . error ) {
310324 await new Promise ( r => process . stdin . on ( 'data' , r ) ) ;
311325 }
326+ step . span . end ( ) ;
312327 results . push ( data ) ;
313328 }
314329 return results ;
@@ -353,6 +368,7 @@ export default class Runner extends EventEmitter {
353368 }
354369 // clear screenshots cache after each journey
355370 await rm ( Runner . screenshotPath , { recursive : true , force : true } ) ;
371+ journey . transaction . end ( ) ;
356372 }
357373
358374 /**
@@ -380,6 +396,7 @@ export default class Runner extends EventEmitter {
380396 if ( options . reporter === 'json' ) {
381397 await once ( this , 'journey:end:reported' ) ;
382398 }
399+ journey . transaction . end ( ) ;
383400 return result ;
384401 }
385402
0 commit comments