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
    }),
  ),
);


when I do something like Effect.withSpan(myEffect, "spanName") I can see the ConsoleSpanExporter result in my console but nothing in sentry. When I use 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
Was this page helpful?