Skip to content

Commit 4e36d26

Browse files
authored
feat(tracing): Allow for setting of an empty array (#5583)
Allow for users to set an empty array as `tracingOrigins` option if they do not want to attach outgoing headers to any request.
1 parent 7177c9b commit 4e36d26

File tree

2 files changed

+12
-10
lines changed

2 files changed

+12
-10
lines changed

packages/tracing/src/browser/browsertracing.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ export class BrowserTracing implements Integration {
142142
let tracingOrigins = defaultRequestInstrumentationOptions.tracingOrigins;
143143
// NOTE: Logger doesn't work in constructors, as it's initialized after integrations instances
144144
if (_options) {
145-
if (_options.tracingOrigins && Array.isArray(_options.tracingOrigins) && _options.tracingOrigins.length !== 0) {
145+
if (_options.tracingOrigins && Array.isArray(_options.tracingOrigins)) {
146146
tracingOrigins = _options.tracingOrigins;
147147
} else {
148148
__DEBUG_BUILD__ && (this._emitOptionsWarning = true);

packages/tracing/test/browser/browsertracing.test.ts

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -148,34 +148,36 @@ describe('BrowserTracing', () => {
148148
expect(inst.options.tracingOrigins).toEqual(defaultRequestInstrumentationOptions.tracingOrigins);
149149
});
150150

151-
it('warns and uses default tracing origins if empty array given', () => {
151+
it('warns and uses default tracing origins if tracing origins are not defined', () => {
152152
const inst = createBrowserTracing(true, {
153153
routingInstrumentation: customInstrumentRouting,
154-
tracingOrigins: [],
154+
tracingOrigins: undefined,
155155
});
156156

157157
expect(warnSpy).toHaveBeenCalledTimes(2);
158158
expect(inst.options.tracingOrigins).toEqual(defaultRequestInstrumentationOptions.tracingOrigins);
159159
});
160160

161-
it('warns and uses default tracing origins if tracing origins are not defined', () => {
161+
it('sets tracing origins if provided and does not warn', () => {
162+
const sampleTracingOrigins = ['something'];
162163
const inst = createBrowserTracing(true, {
163164
routingInstrumentation: customInstrumentRouting,
164-
tracingOrigins: undefined,
165+
tracingOrigins: sampleTracingOrigins,
165166
});
166167

167-
expect(warnSpy).toHaveBeenCalledTimes(2);
168-
expect(inst.options.tracingOrigins).toEqual(defaultRequestInstrumentationOptions.tracingOrigins);
168+
expect(warnSpy).toHaveBeenCalledTimes(0);
169+
expect(inst.options.tracingOrigins).toEqual(sampleTracingOrigins);
169170
});
170171

171-
it('sets tracing origins if provided and does not warn', () => {
172+
it('sets tracing origins to an empty array and does not warn', () => {
173+
const sampleTracingOrigins: string[] = [];
172174
const inst = createBrowserTracing(true, {
173175
routingInstrumentation: customInstrumentRouting,
174-
tracingOrigins: ['something'],
176+
tracingOrigins: sampleTracingOrigins,
175177
});
176178

177179
expect(warnSpy).toHaveBeenCalledTimes(0);
178-
expect(inst.options.tracingOrigins).toEqual(['something']);
180+
expect(inst.options.tracingOrigins).toEqual(sampleTracingOrigins);
179181
});
180182
});
181183

0 commit comments

Comments
 (0)