Skip to content

Commit 77c80e4

Browse files
authored
ref(node): Avoid provider.register() which is removed in OTEL v2 (#15722)
See open-telemetry/opentelemetry-js#5503
1 parent a5e5945 commit 77c80e4

File tree

4 files changed

+17
-22
lines changed

4 files changed

+17
-22
lines changed

packages/node/src/sdk/initOtel.ts

+5-6
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

+4-4
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

+4-6
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

+4-6
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)