Skip to content

Commit 80c9ee6

Browse files
onurtemizkanandreiborza
authored andcommitted
Set the span processor on client in tests.
1 parent 2e5a08c commit 80c9ee6

File tree

11 files changed

+36
-35
lines changed

11 files changed

+36
-35
lines changed

dev-packages/opentelemetry-v2-tests/test/asyncContextStrategy.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ describe('asyncContextStrategy', () => {
2323

2424
const options = getDefaultTestClientOptions();
2525
const client = new TestClient(options);
26-
provider = setupOtel(client);
26+
[provider] = setupOtel(client);
2727
setOpenTelemetryContextAsyncContextStrategy();
2828
});
2929

dev-packages/opentelemetry-v2-tests/test/helpers/initOtel.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { context, diag, DiagLogLevel, propagation, trace } from '@opentelemetry/api';
22
import { AsyncLocalStorageContextManager } from '@opentelemetry/context-async-hooks';
3-
import { resourceFromAttributes, defaultResource } from '@opentelemetry/resources';
3+
import { defaultResource, resourceFromAttributes } from '@opentelemetry/resources';
44
import { BasicTracerProvider } from '@opentelemetry/sdk-trace-base';
55
import {
66
ATTR_SERVICE_NAME,
@@ -45,12 +45,14 @@ export function initOtel(): void {
4545
setupEventContextTrace(client);
4646
enhanceDscWithOpenTelemetryRootSpanName(client);
4747

48-
const provider = setupOtel(client);
48+
const [provider, spanProcessor] = setupOtel(client);
4949
client.traceProvider = provider;
50+
client.spanProcessor = spanProcessor;
5051
}
5152

5253
/** Just exported for tests. */
53-
export function setupOtel(client: TestClientInterface): BasicTracerProvider {
54+
export function setupOtel(client: TestClientInterface): [BasicTracerProvider, SentrySpanProcessor] {
55+
const spanProcessor = new SentrySpanProcessor();
5456
// Create and configure NodeTracerProvider
5557
const provider = new BasicTracerProvider({
5658
sampler: new SentrySampler(client),
@@ -63,7 +65,7 @@ export function setupOtel(client: TestClientInterface): BasicTracerProvider {
6365
}),
6466
),
6567
forceFlushTimeoutMillis: 500,
66-
spanProcessors: [new SentrySpanProcessor()],
68+
spanProcessors: [spanProcessor],
6769
});
6870

6971
// We use a custom context manager to keep context in sync with sentry scope
@@ -73,5 +75,5 @@ export function setupOtel(client: TestClientInterface): BasicTracerProvider {
7375
propagation.setGlobalPropagator(new SentryPropagator());
7476
context.setGlobalContextManager(new SentryContextManager());
7577

76-
return provider;
78+
return [provider, spanProcessor];
7779
}

dev-packages/opentelemetry-v2-tests/test/helpers/mockSdkInit.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import type { OpenTelemetryClient } from '../../../../packages/opentelemetry/src
77
import { clearOpenTelemetrySetupCheck } from '../../../../packages/opentelemetry/src/utils/setupCheck';
88
import { initOtel } from './initOtel';
99
import { init as initTestClient } from './TestClient';
10+
import { SentrySpanProcessor } from '../../../../packages/opentelemetry/src/spanProcessor';
1011

1112
const PUBLIC_DSN = 'https://username@domain/123';
1213

@@ -51,6 +52,20 @@ export async function cleanupOtel(_provider?: BasicTracerProvider): Promise<void
5152
await flush();
5253
}
5354

55+
export function getSpanProcessor(): SentrySpanProcessor | undefined {
56+
const client = getClient<OpenTelemetryClient>();
57+
if (!client) {
58+
return undefined;
59+
}
60+
61+
const spanProcessor = client.spanProcessor;
62+
if (spanProcessor instanceof SentrySpanProcessor) {
63+
return spanProcessor;
64+
}
65+
66+
return undefined;
67+
}
68+
5469
export function getProvider(_provider?: BasicTracerProvider): BasicTracerProvider | undefined {
5570
let provider = _provider || getClient<OpenTelemetryClient>()?.traceProvider || trace.getTracerProvider();
5671

dev-packages/opentelemetry-v2-tests/test/integration/transactions.test.ts

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import { SENTRY_TRACE_STATE_DSC } from '../../../../packages/opentelemetry/src/c
1818
import { SentrySpanProcessor } from '../../../../packages/opentelemetry/src/spanProcessor';
1919
import { startInactiveSpan, startSpan } from '../../../../packages/opentelemetry/src/trace';
2020
import { makeTraceState } from '../../../../packages/opentelemetry/src/utils/makeTraceState';
21-
import { cleanupOtel, getProvider, mockSdkInit } from '../helpers/mockSdkInit';
21+
import { cleanupOtel, getProvider, getSpanProcessor, mockSdkInit } from '../helpers/mockSdkInit';
2222
import type { TestClientInterface } from '../helpers/TestClient';
2323

2424
describe('Integration | Transactions', () => {
@@ -444,13 +444,7 @@ describe('Integration | Transactions', () => {
444444

445445
mockSdkInit({ tracesSampleRate: 1, beforeSendTransaction });
446446

447-
const provider = getProvider();
448-
const multiSpanProcessor = provider?.activeSpanProcessor as
449-
| (SpanProcessor & { _spanProcessors?: SpanProcessor[] })
450-
| undefined;
451-
const spanProcessor = multiSpanProcessor?.['_spanProcessors']?.find(
452-
spanProcessor => spanProcessor instanceof SentrySpanProcessor,
453-
) as SentrySpanProcessor | undefined;
447+
const spanProcessor = getSpanProcessor();
454448

455449
const exporter = spanProcessor ? spanProcessor['_exporter'] : undefined;
456450

@@ -523,12 +517,7 @@ describe('Integration | Transactions', () => {
523517
});
524518

525519
const provider = getProvider();
526-
const multiSpanProcessor = provider?.activeSpanProcessor as
527-
| (SpanProcessor & { _spanProcessors?: SpanProcessor[] })
528-
| undefined;
529-
const spanProcessor = multiSpanProcessor?.['_spanProcessors']?.find(
530-
spanProcessor => spanProcessor instanceof SentrySpanProcessor,
531-
) as SentrySpanProcessor | undefined;
520+
const spanProcessor = getSpanProcessor();
532521

533522
const exporter = spanProcessor ? spanProcessor['_exporter'] : undefined;
534523

@@ -580,12 +569,7 @@ describe('Integration | Transactions', () => {
580569
});
581570

582571
const provider = getProvider();
583-
const multiSpanProcessor = provider?.activeSpanProcessor as
584-
| (SpanProcessor & { _spanProcessors?: SpanProcessor[] })
585-
| undefined;
586-
const spanProcessor = multiSpanProcessor?.['_spanProcessors']?.find(
587-
spanProcessor => spanProcessor instanceof SentrySpanProcessor,
588-
) as SentrySpanProcessor | undefined;
572+
const spanProcessor = getSpanProcessor();
589573

590574
const exporter = spanProcessor ? spanProcessor['_exporter'] : undefined;
591575

dev-packages/opentelemetry-v2-tests/test/utils/getActiveSpan.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ describe('getActiveSpan', () => {
1212

1313
beforeEach(() => {
1414
const client = new TestClient(getDefaultTestClientOptions());
15-
provider = setupOtel(client);
15+
[provider] = setupOtel(client);
1616
});
1717

1818
afterEach(() => {
@@ -97,7 +97,7 @@ describe('getRootSpan', () => {
9797

9898
beforeEach(() => {
9999
const client = new TestClient(getDefaultTestClientOptions({ tracesSampleRate: 1 }));
100-
provider = setupOtel(client);
100+
[provider] = setupOtel(client);
101101
});
102102

103103
afterEach(async () => {

dev-packages/opentelemetry-v2-tests/test/utils/getRequestSpanData.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ describe('getRequestSpanData', () => {
1414

1515
beforeEach(() => {
1616
const client = new TestClient(getDefaultTestClientOptions({ tracesSampleRate: 1 }));
17-
provider = setupOtel(client);
17+
[provider] = setupOtel(client);
1818
});
1919

2020
afterEach(() => {

dev-packages/opentelemetry-v2-tests/test/utils/groupSpansWithParents.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ describe('groupSpansWithParents', () => {
1313

1414
beforeEach(() => {
1515
const client = new TestClient(getDefaultTestClientOptions({ tracesSampleRate: 1 }));
16-
provider = setupOtel(client);
16+
[provider] = setupOtel(client);
1717
});
1818

1919
afterEach(() => {

dev-packages/opentelemetry-v2-tests/test/utils/mapStatus.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ describe('mapStatus', () => {
1616

1717
beforeEach(() => {
1818
const client = new TestClient(getDefaultTestClientOptions({ tracesSampleRate: 1 }));
19-
provider = setupOtel(client);
19+
[provider] = setupOtel(client);
2020
});
2121

2222
afterEach(() => {

dev-packages/opentelemetry-v2-tests/test/utils/setupCheck.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@ describe('openTelemetrySetupCheck', () => {
2525

2626
it('returns all setup parts', () => {
2727
const client = new TestClient(getDefaultTestClientOptions());
28-
provider = setupOtel(client);
28+
[provider] = setupOtel(client);
2929

3030
const setup = openTelemetrySetupCheck();
31-
expect(setup).toEqual(['SentrySampler', 'SentrySpanProcessor', 'SentryPropagator', 'SentryContextManager']);
31+
expect(setup).toEqual(['SentrySpanProcessor', 'SentrySampler', 'SentryPropagator', 'SentryContextManager']);
3232
});
3333

3434
it('returns partial setup parts', () => {

dev-packages/opentelemetry-v2-tests/test/utils/setupEventContextTrace.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ describe('setupEventContextTrace', () => {
2929
client.init();
3030

3131
setupEventContextTrace(client);
32-
provider = setupOtel(client);
32+
[provider] = setupOtel(client);
3333
});
3434

3535
afterEach(() => {

dev-packages/opentelemetry-v2-tests/test/utils/spanToJSON.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ describe('spanToJSON', () => {
1818

1919
beforeEach(() => {
2020
const client = new TestClient(getDefaultTestClientOptions({ tracesSampleRate: 1 }));
21-
provider = setupOtel(client);
21+
[provider] = setupOtel(client);
2222
});
2323

2424
afterEach(() => {

0 commit comments

Comments
 (0)