Skip to content

Commit 3f07895

Browse files
committed
fix: Provide better descriptions for the performance navigation timing spans
1 parent 065c239 commit 3f07895

File tree

1 file changed

+19
-16
lines changed

1 file changed

+19
-16
lines changed

packages/tracing/src/browser/metrics.ts

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -282,14 +282,14 @@ export class MetricsInstrumentation {
282282

283283
/** Instrument navigation entries */
284284
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({ transaction, entry, event: 'secureConnection', timeOrigin, eventEnd: 'connectEnd', description: 'secureConnection (TLS)' });
291+
addPerformanceNavigationTiming({ transaction, entry, event: 'fetch', timeOrigin, eventEnd: 'domainLookupStart', description: 'cache' });
292+
addPerformanceNavigationTiming({ transaction, entry, event: 'domainLookup', timeOrigin, description: 'DNS' });
293293
addRequest(transaction, entry, timeOrigin);
294294
}
295295

@@ -362,21 +362,24 @@ export function addResourceSpans(
362362
}
363363

364364
/** 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 {
365+
function addPerformanceNavigationTiming(props: {
366+
transaction: Transaction;
367+
entry: Record<string, any>;
368+
event: string;
369+
timeOrigin: number;
370+
eventEnd?: string;
371+
description?: string;
372+
}): void {
373+
const { transaction, entry, event, timeOrigin, eventEnd, description } = props;
374+
372375
const end = eventEnd ? (entry[eventEnd] as number | undefined) : (entry[`${event}End`] as number | undefined);
373376
const start = entry[`${event}Start`] as number | undefined;
374377
if (!start || !end) {
375378
return;
376379
}
377380
_startChild(transaction, {
378381
op: 'browser',
379-
description: event,
382+
description: description ?? event,
380383
startTimestamp: timeOrigin + msToSec(start),
381384
endTimestamp: timeOrigin + msToSec(end),
382385
});

0 commit comments

Comments
 (0)