Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit cda19bf

Browse files
committedMar 18, 2025
ref(node): Avoid provider.register() which is removed in OTEL v2
See open-telemetry/opentelemetry-js#5503
1 parent 90f41db commit cda19bf

File tree

6 files changed

+27
-33
lines changed

6 files changed

+27
-33
lines changed
 

‎dev-packages/e2e-tests/test-applications/node-otel-custom-sampler/src/instrument.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,9 @@ Sentry.init({
1919

2020
const provider = new NodeTracerProvider({
2121
sampler: new CustomSampler(),
22+
spanProcessors: [new SentrySpanProcessor()],
2223
});
2324

24-
provider.addSpanProcessor(new SentrySpanProcessor());
25-
2625
provider.register({
2726
propagator: new SentryPropagator(),
2827
contextManager: new Sentry.SentryContextManager(),

‎dev-packages/e2e-tests/test-applications/node-otel-without-tracing/src/instrument.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@ Sentry.init({
2020
});
2121

2222
// Create and configure NodeTracerProvider
23-
const provider = new NodeTracerProvider({});
24-
25-
provider.addSpanProcessor(
26-
new BatchSpanProcessor(
27-
new OTLPTraceExporter({
28-
url: 'http://localhost:3032/',
29-
}),
30-
),
31-
);
23+
const provider = new NodeTracerProvider({
24+
spanProcessors: [
25+
new BatchSpanProcessor(
26+
new OTLPTraceExporter({
27+
url: 'http://localhost:3032/',
28+
}),
29+
),
30+
],
31+
});
3232

3333
// Initialize the provider
3434
provider.register({

‎packages/node/src/sdk/initOtel.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import moduleModule from 'module';
2-
import { DiagLogLevel, diag } from '@opentelemetry/api';
2+
import { DiagLogLevel, context, diag, propagation, trace } from '@opentelemetry/api';
33
import { Resource } from '@opentelemetry/resources';
44
import type { SpanProcessor } from '@opentelemetry/sdk-trace-base';
55
import { BasicTracerProvider } from '@opentelemetry/sdk-trace-base';
@@ -127,11 +127,10 @@ export function setupOtel(client: NodeClient, options: AdditionalOpenTelemetryOp
127127
],
128128
});
129129

130-
// Initialize the provider
131-
provider.register({
132-
propagator: new SentryPropagator(),
133-
contextManager: new SentryContextManager(),
134-
});
130+
// Register as globals
131+
trace.setGlobalTracerProvider(provider);
132+
propagation.setGlobalPropagator(new SentryPropagator());
133+
context.setGlobalContextManager(new SentryContextManager());
135134

136135
return provider;
137136
}

‎packages/opentelemetry/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ import {
6060
setOpenTelemetryContextAsyncContextStrategy,
6161
} from '@sentry/opentelemetry';
6262
import { AsyncLocalStorageContextManager } from '@opentelemetry/context-async-hooks';
63+
import { context, propagation, trace } from '@opentelemetry/api';
6364

6465
function setupSentry() {
6566
Sentry.init({
@@ -77,10 +78,9 @@ function setupSentry() {
7778
const SentryContextManager = wrapContextManagerClass(AsyncLocalStorageContextManager);
7879

7980
// Initialize the provider
80-
provider.register({
81-
propagator: new SentryPropagator(),
82-
contextManager: new SentryContextManager(),
83-
});
81+
trace.setGlobalTracerProvider(provider);
82+
propagation.setGlobalPropagator(new SentryPropagator());
83+
context.setGlobalContextManager(new SentryContextManager());
8484

8585
setOpenTelemetryContextAsyncContextStrategy();
8686
}

‎packages/opentelemetry/test/helpers/initOtel.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { DiagLogLevel, diag } from '@opentelemetry/api';
1+
import { DiagLogLevel, context, diag, propagation, trace } from '@opentelemetry/api';
22
import { AsyncLocalStorageContextManager } from '@opentelemetry/context-async-hooks';
33
import { Resource } from '@opentelemetry/resources';
44
import { BasicTracerProvider } from '@opentelemetry/sdk-trace-base';
@@ -69,11 +69,9 @@ export function setupOtel(client: TestClientInterface): BasicTracerProvider {
6969
// We use a custom context manager to keep context in sync with sentry scope
7070
const SentryContextManager = wrapContextManagerClass(AsyncLocalStorageContextManager);
7171

72-
// Initialize the provider
73-
provider.register({
74-
propagator: new SentryPropagator(),
75-
contextManager: new SentryContextManager(),
76-
});
72+
trace.setGlobalTracerProvider(provider);
73+
propagation.setGlobalPropagator(new SentryPropagator());
74+
context.setGlobalContextManager(new SentryContextManager());
7775

7876
return provider;
7977
}

‎packages/vercel-edge/src/sdk.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { DiagLogLevel, diag } from '@opentelemetry/api';
1+
import { DiagLogLevel, context, diag, propagation, trace } from '@opentelemetry/api';
22
import { Resource } from '@opentelemetry/resources';
33
import { BasicTracerProvider } from '@opentelemetry/sdk-trace-base';
44
import {
@@ -171,11 +171,9 @@ export function setupOtel(client: VercelEdgeClient): void {
171171

172172
const SentryContextManager = wrapContextManagerClass(AsyncLocalStorageContextManager);
173173

174-
// Initialize the provider
175-
provider.register({
176-
propagator: new SentryPropagator(),
177-
contextManager: new SentryContextManager(),
178-
});
174+
trace.setGlobalTracerProvider(provider);
175+
propagation.setGlobalPropagator(new SentryPropagator());
176+
context.setGlobalContextManager(new SentryContextManager());
179177

180178
client.traceProvider = provider;
181179
}

0 commit comments

Comments
 (0)