From a5a4eba663d80f6d11b578313ff0dd074a6078fb Mon Sep 17 00:00:00 2001 From: k-fish Date: Fri, 16 Oct 2020 15:31:34 -0700 Subject: [PATCH 1/2] feat(metrics): Add secure connect navigation timing This is helpful to determine whether the span needed to do tls negotation, and if so, how long it takes. Had to modify the addPerformanceNavigationTiming function to allow a custom end since secure connect's end is connectEnd. --- packages/tracing/src/browser/metrics.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/tracing/src/browser/metrics.ts b/packages/tracing/src/browser/metrics.ts index f2830f3ad6eb..f0972a4ae190 100644 --- a/packages/tracing/src/browser/metrics.ts +++ b/packages/tracing/src/browser/metrics.ts @@ -203,6 +203,7 @@ function addNavigationSpans(transaction: Transaction, entry: Record addPerformanceNavigationTiming(transaction, entry, 'domContentLoadedEvent', timeOrigin); addPerformanceNavigationTiming(transaction, entry, 'loadEvent', timeOrigin); addPerformanceNavigationTiming(transaction, entry, 'connect', timeOrigin); + addPerformanceNavigationTiming(transaction, entry, 'secureConnect', timeOrigin, 'connectEnd'); addPerformanceNavigationTiming(transaction, entry, 'domainLookup', timeOrigin); addRequest(transaction, entry, timeOrigin); } @@ -281,8 +282,9 @@ function addPerformanceNavigationTiming( entry: Record, event: string, timeOrigin: number, + eventEnd?: string, ): void { - const end = entry[`${event}End`] as number | undefined; + const end = eventEnd ? (entry[eventEnd] as number | undefined) : (entry[`${event}End`] as number | undefined); const start = entry[`${event}Start`] as number | undefined; if (!start || !end) { return; From 42df7bf9e0bed7ed22ed146189e9d76698f785eb Mon Sep 17 00:00:00 2001 From: k-fish Date: Mon, 19 Oct 2020 09:34:05 -0700 Subject: [PATCH 2/2] Update packages/tracing/src/browser/metrics.ts Co-authored-by: Alberto Leal --- packages/tracing/src/browser/metrics.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tracing/src/browser/metrics.ts b/packages/tracing/src/browser/metrics.ts index f0972a4ae190..0577ff8c582e 100644 --- a/packages/tracing/src/browser/metrics.ts +++ b/packages/tracing/src/browser/metrics.ts @@ -203,7 +203,7 @@ function addNavigationSpans(transaction: Transaction, entry: Record addPerformanceNavigationTiming(transaction, entry, 'domContentLoadedEvent', timeOrigin); addPerformanceNavigationTiming(transaction, entry, 'loadEvent', timeOrigin); addPerformanceNavigationTiming(transaction, entry, 'connect', timeOrigin); - addPerformanceNavigationTiming(transaction, entry, 'secureConnect', timeOrigin, 'connectEnd'); + addPerformanceNavigationTiming(transaction, entry, 'secureConnection', timeOrigin, 'connectEnd'); addPerformanceNavigationTiming(transaction, entry, 'domainLookup', timeOrigin); addRequest(transaction, entry, timeOrigin); }