@@ -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