Frontend Monitoring: Update regex to ignore options.customEndpoint (#96542)

* fix(GrafanaJavascriptAgentBackend): update regex to ignore options.customEndpoint

* update test
This commit is contained in:
Marco Schaefer
2024-11-15 14:11:59 +01:00
committed by GitHub
parent 5965aa9aca
commit b324925bd5
2 changed files with 8 additions and 3 deletions
@@ -92,7 +92,7 @@ describe('GrafanaJavascriptAgentEchoBackend', () => {
expect(initializeFaroMock.mock.calls[0][0].transports?.length).toEqual(2);
expect(initializeFaroMock.mock.calls[0][0].transports?.[0]).toBeInstanceOf(EchoSrvTransport);
expect(initializeFaroMock.mock.calls[0][0].transports?.[0].getIgnoreUrls()).toEqual([
new RegExp('/*/log-grafana-javascript-agent/'),
/.*\/log-grafana-javascript-agent.*/,
/.*.google-analytics.com*.*/,
/.*.googletagmanager.com*.*/,
/frontend-metrics/,
@@ -1,4 +1,4 @@
import { BuildInfo } from '@grafana/data';
import { BuildInfo, escapeRegex } from '@grafana/data';
import { BaseTransport, defaultInternalLoggerLevel } from '@grafana/faro-core';
import {
initializeFaro,
@@ -53,7 +53,12 @@ export class GrafanaJavascriptAgentBackend
constructor(public options: GrafanaJavascriptAgentBackendOptions) {
// configure instrumentations.
const instrumentations: Instrumentation[] = [];
const ignoreUrls = [new RegExp(`/*${options.customEndpoint}/`), ...TRACKING_URLS, ...options.ignoreUrls];
const ignoreUrls = [
new RegExp(`.*${escapeRegex(options.customEndpoint)}.*`),
...TRACKING_URLS,
...options.ignoreUrls,
];
const transports: BaseTransport[] = [new EchoSrvTransport({ ignoreUrls })];