From c9984cbb7a3728ce84b8ff6b6183c6a94ebf2bc1 Mon Sep 17 00:00:00 2001 From: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com> Date: Mon, 28 Oct 2024 13:44:52 +0100 Subject: [PATCH] Frontend Traces: Ignore Faro tracking of Google Analytics and Rudderstack (#95322) * Ignore Faro tracking of Google Analytics and Rudderstack * Fix test * Fancy it up Tom style --- public/app/app.ts | 10 ++++++++++ .../GrafanaJavascriptAgentBackend.test.ts | 1 + .../GrafanaJavascriptAgentBackend.ts | 5 ++++- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/public/app/app.ts b/public/app/app.ts index 936b7b5293a..c824f6c4db1 100644 --- a/public/app/app.ts +++ b/public/app/app.ts @@ -317,6 +317,15 @@ function initEchoSrv() { } if (config.grafanaJavascriptAgent.enabled) { + // Ignore Rudderstack URLs + const rudderstackUrls = [ + config.rudderstackConfigUrl, + config.rudderstackDataPlaneUrl, + config.rudderstackIntegrationsUrl, + ] + .filter(Boolean) + .map((url) => new RegExp(`${url}.*.`)); + registerEchoBackend( new GrafanaJavascriptAgentBackend({ ...config.grafanaJavascriptAgent, @@ -329,6 +338,7 @@ function initEchoSrv() { id: String(config.bootData.user?.id), email: config.bootData.user?.email, }, + ignoreUrls: rudderstackUrls, }) ); } diff --git a/public/app/core/services/echo/backends/grafana-javascript-agent/GrafanaJavascriptAgentBackend.test.ts b/public/app/core/services/echo/backends/grafana-javascript-agent/GrafanaJavascriptAgentBackend.test.ts index 7cca68e9ee8..2be4f5f6502 100644 --- a/public/app/core/services/echo/backends/grafana-javascript-agent/GrafanaJavascriptAgentBackend.test.ts +++ b/public/app/core/services/echo/backends/grafana-javascript-agent/GrafanaJavascriptAgentBackend.test.ts @@ -76,6 +76,7 @@ describe('GrafanaJavascriptAgentEchoBackend', () => { id: '504', orgId: 1, }, + ignoreUrls: [], }; it('will set up FetchTransport if customEndpoint is provided', () => { diff --git a/public/app/core/services/echo/backends/grafana-javascript-agent/GrafanaJavascriptAgentBackend.ts b/public/app/core/services/echo/backends/grafana-javascript-agent/GrafanaJavascriptAgentBackend.ts index 099ea2d4370..9540d1cee05 100644 --- a/public/app/core/services/echo/backends/grafana-javascript-agent/GrafanaJavascriptAgentBackend.ts +++ b/public/app/core/services/echo/backends/grafana-javascript-agent/GrafanaJavascriptAgentBackend.ts @@ -34,8 +34,11 @@ export interface GrafanaJavascriptAgentBackendOptions extends BrowserConfig { consoleInstrumentalizationEnabled: boolean; webVitalsInstrumentalizationEnabled: boolean; tracingInstrumentalizationEnabled: boolean; + ignoreUrls: RegExp[]; } +const TRACKING_URLS = [/.*.google-analytics.com*.*/, /.*.googletagmanager.com*.*/, /frontend-metrics/]; + export class GrafanaJavascriptAgentBackend implements EchoBackend { @@ -87,7 +90,7 @@ export class GrafanaJavascriptAgentBackend 'ResizeObserver loop completed', 'Non-Error exception captured with keys', ], - ignoreUrls: [new RegExp(`/*${options.customEndpoint}/`), /frontend-metrics/], + ignoreUrls: [new RegExp(`/*${options.customEndpoint}/`), ...TRACKING_URLS, ...options.ignoreUrls], sessionTracking: { persistent: true, },