@@ -282,14 +282,28 @@ export class MetricsInstrumentation {
282282
283283/** Instrument navigation entries */
284284function 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' } ) ;
293307 addRequest ( transaction , entry , timeOrigin ) ;
294308}
295309
@@ -362,21 +376,24 @@ export function addResourceSpans(
362376}
363377
364378/** 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+
372389 const end = eventEnd ? ( entry [ eventEnd ] as number | undefined ) : ( entry [ `${ event } End` ] as number | undefined ) ;
373390 const start = entry [ `${ event } Start` ] as number | undefined ;
374391 if ( ! start || ! end ) {
375392 return ;
376393 }
377394 _startChild ( transaction , {
378395 op : 'browser' ,
379- description : event ,
396+ description : description ?? event ,
380397 startTimestamp : timeOrigin + msToSec ( start ) ,
381398 endTimestamp : timeOrigin + msToSec ( end ) ,
382399 } ) ;
0 commit comments