From ca84dd0c0bffc8a2a98fbec1920468eac0599447 Mon Sep 17 00:00:00 2001 From: nick-delirium Date: Wed, 18 Oct 2023 11:11:01 +0200 Subject: [PATCH] fix(tracker): added excludedResourceUrls for timings --- tracker/tracker/CHANGELOG.md | 4 ++++ tracker/tracker/src/main/modules/timing.ts | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/tracker/tracker/CHANGELOG.md b/tracker/tracker/CHANGELOG.md index 01873bb27..d485e3795 100644 --- a/tracker/tracker/CHANGELOG.md +++ b/tracker/tracker/CHANGELOG.md @@ -3,6 +3,10 @@ - networkRequest message changed to include `TransferredBodySize` - tracker now attempts to create proxy for beacon api as well (if its in scope) +# 9.0.10 + +- added `excludedResourceUrls` to timings options to better sanitize network data + # 9.0.9 - Fix for `{disableStringDict: true}` behavior diff --git a/tracker/tracker/src/main/modules/timing.ts b/tracker/tracker/src/main/modules/timing.ts index 299db2221..46e7ab9a4 100644 --- a/tracker/tracker/src/main/modules/timing.ts +++ b/tracker/tracker/src/main/modules/timing.ts @@ -83,6 +83,7 @@ export interface Options { captureResourceTimings: boolean capturePageLoadTimings: boolean capturePageRenderTimings: boolean + excludedResourceUrls?: Array } export default function (app: App, opts: Partial): void { @@ -91,6 +92,7 @@ export default function (app: App, opts: Partial): void { captureResourceTimings: true, capturePageLoadTimings: true, capturePageRenderTimings: true, + excludedResourceUrls: [], }, opts, ) @@ -108,6 +110,12 @@ export default function (app: App, opts: Partial): void { if (resources !== null) { resources[entry.name] = entry.startTime + entry.duration } + + options.excludedResourceUrls?.forEach((url) => { + if (entry.name.startsWith(url)) { + return + } + }) app.send( ResourceTiming( entry.startTime + getTimeOrigin(),