MCPcopy Create free account
hub / github.com/getsentry/sentry-javascript / setupOtel

Function setupOtel

packages/node/src/sdk/initOtel.ts:86–112  ·  view source on GitHub ↗
(
  client: NodeClient,
  options: AdditionalOpenTelemetryOptions = {},
)

Source from the content-addressed store, hash-verified

84
85/** Just exported for tests. */
86export function setupOtel(
87 client: NodeClient,
88 options: AdditionalOpenTelemetryOptions = {},
89): [BasicTracerProvider, AsyncLocalStorageLookup] {
90 // Create and configure NodeTracerProvider
91 const provider = new BasicTracerProvider({
92 sampler: new SentrySampler(client),
93 resource: getSentryResource('node'),
94 forceFlushTimeoutMillis: 500,
95 spanProcessors: [
96 new SentrySpanProcessor({
97 timeout: _clampSpanProcessorTimeout(client.getOptions().maxSpanWaitDuration),
98 client,
99 }),
100 ...(options.spanProcessors || []),
101 ],
102 });
103
104 // Register as globals
105 trace.setGlobalTracerProvider(provider);
106 propagation.setGlobalPropagator(new SentryPropagator());
107
108 const ctxManager = new SentryContextManager();
109 context.setGlobalContextManager(ctxManager);
110
111 return [provider, ctxManager.getAsyncLocalStorageLookup()];
112}
113
114/** Just exported for tests. */
115export function _clampSpanProcessorTimeout(maxSpanWaitDuration: number | undefined): number | undefined {

Callers 1

initOpenTelemetryFunction · 0.70

Calls 4

getSentryResourceFunction · 0.90
getOptionsMethod · 0.65

Tested by

no test coverage detected