Skip to content

Commit 5fa46a3

Browse files
committed
Address breaking changes for Resource and TracerProvider
1 parent 1ddb268 commit 5fa46a3

File tree

6 files changed

+38
-33
lines changed

6 files changed

+38
-33
lines changed

packages/nestjs/src/integrations/sentry-nest-event-instrumentation.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
import { isWrapped } from '@opentelemetry/core';
21
import type { InstrumentationConfig } from '@opentelemetry/instrumentation';
32
import {
43
InstrumentationBase,
54
InstrumentationNodeModuleDefinition,
65
InstrumentationNodeModuleFile,
6+
isWrapped,
77
} from '@opentelemetry/instrumentation';
88
import { captureException, SDK_VERSION, startSpan } from '@sentry/core';
99
import { getEventSpanOptions } from './helpers';

packages/node-core/test/helpers/mockSdkInit.ts

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { context, propagation, ProxyTracerProvider, trace } from '@opentelemetry/api';
2-
import { Resource } from '@opentelemetry/resources';
2+
import { defaultResource, resourceFromAttributes } from '@opentelemetry/resources';
33
import { BasicTracerProvider } from '@opentelemetry/sdk-trace-base';
44
import {
55
ATTR_SERVICE_NAME,
@@ -64,12 +64,14 @@ export function setupOtel(client: NodeClient): BasicTracerProvider | undefined {
6464
// Create and configure TracerProvider with same config as Node SDK
6565
const provider = new BasicTracerProvider({
6666
sampler: new SentrySampler(client),
67-
resource: new Resource({
68-
[ATTR_SERVICE_NAME]: 'node',
69-
// eslint-disable-next-line deprecation/deprecation
70-
[SEMRESATTRS_SERVICE_NAMESPACE]: 'sentry',
71-
[ATTR_SERVICE_VERSION]: SDK_VERSION,
72-
}),
67+
resource: defaultResource().merge(
68+
resourceFromAttributes({
69+
[ATTR_SERVICE_NAME]: 'node',
70+
// eslint-disable-next-line deprecation/deprecation
71+
[SEMRESATTRS_SERVICE_NAMESPACE]: 'sentry',
72+
[ATTR_SERVICE_VERSION]: SDK_VERSION,
73+
}),
74+
),
7375
forceFlushTimeoutMillis: 500,
7476
spanProcessors: [
7577
new SentrySpanProcessor({

packages/node/src/sdk/initOtel.ts

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { context, propagation, trace } from '@opentelemetry/api';
2-
import { Resource } from '@opentelemetry/resources';
2+
import { defaultResource, resourceFromAttributes } from '@opentelemetry/resources';
33
import type { SpanProcessor } from '@opentelemetry/sdk-trace-base';
44
import { BasicTracerProvider } from '@opentelemetry/sdk-trace-base';
55
import {
@@ -109,12 +109,14 @@ export function setupOtel(client: NodeClient, options: AdditionalOpenTelemetryOp
109109
// Create and configure NodeTracerProvider
110110
const provider = new BasicTracerProvider({
111111
sampler: new SentrySampler(client),
112-
resource: new Resource({
113-
[ATTR_SERVICE_NAME]: 'node',
114-
// eslint-disable-next-line deprecation/deprecation
115-
[SEMRESATTRS_SERVICE_NAMESPACE]: 'sentry',
116-
[ATTR_SERVICE_VERSION]: SDK_VERSION,
117-
}),
112+
resource: defaultResource().merge(
113+
resourceFromAttributes({
114+
[ATTR_SERVICE_NAME]: 'node',
115+
// eslint-disable-next-line deprecation/deprecation
116+
[SEMRESATTRS_SERVICE_NAMESPACE]: 'sentry',
117+
[ATTR_SERVICE_VERSION]: SDK_VERSION,
118+
}),
119+
),
118120
forceFlushTimeoutMillis: 500,
119121
spanProcessors: [
120122
new SentrySpanProcessor({

packages/opentelemetry/test/helpers/initOtel.ts

Lines changed: 9 additions & 7 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 { Resource } from '@opentelemetry/resources';
3+
import { defaultResource, resourceFromAttributes } from '@opentelemetry/resources';
44
import { BasicTracerProvider } from '@opentelemetry/sdk-trace-base';
55
import {
66
ATTR_SERVICE_NAME,
@@ -58,12 +58,14 @@ export function setupOtel(client: TestClientInterface): BasicTracerProvider {
5858
// Create and configure NodeTracerProvider
5959
const provider = new BasicTracerProvider({
6060
sampler: new SentrySampler(client),
61-
resource: new Resource({
62-
[ATTR_SERVICE_NAME]: 'opentelemetry-test',
63-
// eslint-disable-next-line deprecation/deprecation
64-
[SEMRESATTRS_SERVICE_NAMESPACE]: 'sentry',
65-
[ATTR_SERVICE_VERSION]: SDK_VERSION,
66-
}),
61+
resource: defaultResource().merge(
62+
resourceFromAttributes({
63+
[ATTR_SERVICE_NAME]: 'opentelemetry-test',
64+
// eslint-disable-next-line deprecation/deprecation
65+
[SEMRESATTRS_SERVICE_NAMESPACE]: 'sentry',
66+
[ATTR_SERVICE_VERSION]: SDK_VERSION,
67+
}),
68+
),
6769
forceFlushTimeoutMillis: 500,
6870
spanProcessors: [new SentrySpanProcessor()],
6971
});

packages/vercel-edge/src/client.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,8 @@ export class VercelEdgeClient extends ServerRuntimeClient<VercelEdgeClientOption
3939
// eslint-disable-next-line jsdoc/require-jsdoc
4040
public async flush(timeout?: number): Promise<boolean> {
4141
const provider = this.traceProvider;
42-
const spanProcessor = provider?.activeSpanProcessor;
4342

44-
if (spanProcessor) {
45-
await spanProcessor.forceFlush();
46-
}
43+
await provider?.forceFlush();
4744

4845
if (this.getOptions().sendClientReports) {
4946
this._flushOutcomes();

packages/vercel-edge/src/sdk.ts

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { context, diag, DiagLogLevel, propagation, trace } from '@opentelemetry/api';
2-
import { Resource } from '@opentelemetry/resources';
2+
import { defaultResource, resourceFromAttributes } from '@opentelemetry/resources';
33
import { BasicTracerProvider } from '@opentelemetry/sdk-trace-base';
44
import {
55
ATTR_SERVICE_NAME,
@@ -158,12 +158,14 @@ export function setupOtel(client: VercelEdgeClient): void {
158158
// Create and configure NodeTracerProvider
159159
const provider = new BasicTracerProvider({
160160
sampler: new SentrySampler(client),
161-
resource: new Resource({
162-
[ATTR_SERVICE_NAME]: 'edge',
163-
// eslint-disable-next-line deprecation/deprecation
164-
[SEMRESATTRS_SERVICE_NAMESPACE]: 'sentry',
165-
[ATTR_SERVICE_VERSION]: SDK_VERSION,
166-
}),
161+
resource: defaultResource().merge(
162+
resourceFromAttributes({
163+
[ATTR_SERVICE_NAME]: 'edge',
164+
// eslint-disable-next-line deprecation/deprecation
165+
[SEMRESATTRS_SERVICE_NAMESPACE]: 'sentry',
166+
[ATTR_SERVICE_VERSION]: SDK_VERSION,
167+
}),
168+
),
167169
forceFlushTimeoutMillis: 500,
168170
spanProcessors: [
169171
new SentrySpanProcessor({

0 commit comments

Comments
 (0)