@@ -282,14 +282,28 @@ export class MetricsInstrumentation {
282
282
283
283
/** Instrument navigation entries */
284
284
function addNavigationSpans ( transaction : Transaction , entry : Record < string , any > , timeOrigin : number ) : void {
285
- addPerformanceNavigationTiming ( transaction , entry , 'unloadEvent' , timeOrigin ) ;
286
- addPerformanceNavigationTiming ( transaction , entry , 'redirect' , timeOrigin ) ;
287
- addPerformanceNavigationTiming ( transaction , entry , 'domContentLoadedEvent' , timeOrigin ) ;
288
- addPerformanceNavigationTiming ( transaction , entry , 'loadEvent' , timeOrigin ) ;
289
- addPerformanceNavigationTiming ( transaction , entry , 'connect' , timeOrigin ) ;
290
- addPerformanceNavigationTiming ( transaction , entry , 'secureConnection' , timeOrigin , 'connectEnd' ) ;
291
- addPerformanceNavigationTiming ( transaction , entry , 'fetch' , timeOrigin , 'domainLookupStart' ) ;
292
- addPerformanceNavigationTiming ( transaction , entry , 'domainLookup' , timeOrigin ) ;
285
+ addPerformanceNavigationTiming ( { transaction, entry, event : 'unloadEvent' , timeOrigin } ) ;
286
+ addPerformanceNavigationTiming ( { transaction, entry, event : 'redirect' , timeOrigin } ) ;
287
+ addPerformanceNavigationTiming ( { transaction, entry, event : 'domContentLoadedEvent' , timeOrigin } ) ;
288
+ addPerformanceNavigationTiming ( { transaction, entry, event : 'loadEvent' , timeOrigin } ) ;
289
+ addPerformanceNavigationTiming ( { transaction, entry, event : 'connect' , timeOrigin } ) ;
290
+ addPerformanceNavigationTiming ( {
291
+ transaction,
292
+ entry,
293
+ event : 'secureConnection' ,
294
+ timeOrigin,
295
+ eventEnd : 'connectEnd' ,
296
+ description : 'TLS/SSL' ,
297
+ } ) ;
298
+ addPerformanceNavigationTiming ( {
299
+ transaction,
300
+ entry,
301
+ event : 'fetch' ,
302
+ timeOrigin,
303
+ eventEnd : 'domainLookupStart' ,
304
+ description : 'cache' ,
305
+ } ) ;
306
+ addPerformanceNavigationTiming ( { transaction, entry, event : 'domainLookup' , timeOrigin, description : 'DNS' } ) ;
293
307
addRequest ( transaction , entry , timeOrigin ) ;
294
308
}
295
309
@@ -362,21 +376,24 @@ export function addResourceSpans(
362
376
}
363
377
364
378
/** Create performance navigation related spans */
365
- function addPerformanceNavigationTiming (
366
- transaction : Transaction ,
367
- entry : Record < string , any > ,
368
- event : string ,
369
- timeOrigin : number ,
370
- eventEnd ?: string ,
371
- ) : void {
379
+ function addPerformanceNavigationTiming ( props : {
380
+ transaction : Transaction ;
381
+ entry : Record < string , any > ;
382
+ event : string ;
383
+ timeOrigin : number ;
384
+ eventEnd ?: string ;
385
+ description ?: string ;
386
+ } ) : void {
387
+ const { transaction, entry, event, timeOrigin, eventEnd, description } = props ;
388
+
372
389
const end = eventEnd ? ( entry [ eventEnd ] as number | undefined ) : ( entry [ `${ event } End` ] as number | undefined ) ;
373
390
const start = entry [ `${ event } Start` ] as number | undefined ;
374
391
if ( ! start || ! end ) {
375
392
return ;
376
393
}
377
394
_startChild ( transaction , {
378
395
op : 'browser' ,
379
- description : event ,
396
+ description : description ?? event ,
380
397
startTimestamp : timeOrigin + msToSec ( start ) ,
381
398
endTimestamp : timeOrigin + msToSec ( end ) ,
382
399
} ) ;
0 commit comments