© 2026 Hedgehog Software, LLC
import { NodeSdk } from "@effect/opentelemetry" import { SentrySpanProcessor } from "@sentry/opentelemetry" const NodeSdkLive = NodeSdk.layer(() => ({ resource: { serviceName: "example" }, spanProcessor: new SentrySpanProcessor() }))
export const NodeSdkLive = Layer.unwrapEffect( Effect.gen(function* () { const sentryClient = Sentry.init({ dsn: "", tracesSampleRate: 1.0, skipOpenTelemetrySetup: true, }); if (!sentryClient) { return NodeSdk.layer(() => ({})); } const layer = NodeSdk.layer(() => ({ resource: { serviceName: "example", }, spanProcessors: [new SentrySpanProcessor()], textMapPropagator: new SentryPropagator(), instrumentations: [getNodeAutoInstrumentations()], })); return layer; }), );