Trouble Setting Up OpenTelemetry with Sentry in TypeScript
I have trouble setting up OpenTelemetry with Sentry:
Sentry.init({ dsn: "MY_DSN", // Performance Monitoring tracesSampleRate: 1.0, // Capture 100% of the transactions // Set sampling rate for profiling - this is relative to tracesSampleRate profilesSampleRate: 1.0, // skipOpenTelemetrySetup: true, beforeSend(event) { console.log("event", event); return event; }, beforeSendSpan(span) { console.log("span", span); return span; },});console.log("has been setup");const SentryLayer = Layer.merge( NodeSdk.layer(() => { return { resource: { serviceName: "service-name", }, spanProcessor: [ new SimpleSpanProcessor(new ConsoleSpanExporter()), new SentrySpanProcessor(), ], }; }), Layer.effectDiscard( Effect.sync(() => { otelApi.propagation.setGlobalPropagator(new SentryPropagator()); // copied from https://github.com/effect-ts-app/boilerplate/blob/bd9c302ebd716003e9984f049ca24ae15799568e/frontend/utils/observability.ts#L126 }), ),);
Sentry.init({ dsn: "MY_DSN", // Performance Monitoring tracesSampleRate: 1.0, // Capture 100% of the transactions // Set sampling rate for profiling - this is relative to tracesSampleRate profilesSampleRate: 1.0, // skipOpenTelemetrySetup: true, beforeSend(event) { console.log("event", event); return event; }, beforeSendSpan(span) { console.log("span", span); return span; },});console.log("has been setup");const SentryLayer = Layer.merge( NodeSdk.layer(() => { return { resource: { serviceName: "service-name", }, spanProcessor: [ new SimpleSpanProcessor(new ConsoleSpanExporter()), new SentrySpanProcessor(), ], }; }), Layer.effectDiscard( Effect.sync(() => { otelApi.propagation.setGlobalPropagator(new SentryPropagator()); // copied from https://github.com/effect-ts-app/boilerplate/blob/bd9c302ebd716003e9984f049ca24ae15799568e/frontend/utils/observability.ts#L126 }), ),);
when I do something like
Effect.withSpan(myEffect, "spanName")
Effect.withSpan(myEffect, "spanName")
I can see the ConsoleSpanExporter result in my console but nothing in sentry. When I use
Sentry.startSpan
Sentry.startSpan
I see the trace in Sentry. I don't see any "beforeSend" being called.
I see no error nothing in the console, and I don't know how to debug this kind of issue. I saw Sentry 8 has a lot of breaking change but I see outdated doc everywhere