UNPKG

@sentry/nextjs

Version:
29 lines (26 loc) • 1.05 kB
import { defaultTextMapSetter, propagation } from '@opentelemetry/api'; import { SentryPropagator } from '@sentry/opentelemetry'; import { CACHE_ORIGIN_META_TAG_NAME } from '../common/traceMetaTags.js'; import { isPrerenderContext, markPrerendersOnTracerProvider } from './prerenderContext.js'; class NextSentryPropagator extends SentryPropagator { /** @inheritDoc */ inject(ctx, carrier, setter) { if (!Array.isArray(carrier) || !isPrerenderContext(ctx)) { super.inject(ctx, carrier, setter); return; } const values = {}; super.inject(ctx, values, defaultTextMapSetter); const sentryTrace = values["sentry-trace"]; if (sentryTrace) { setter.set(carrier, CACHE_ORIGIN_META_TAG_NAME, sentryTrace); } } } function registerNextSentryPropagator(provider) { markPrerendersOnTracerProvider(provider); propagation.disable(); propagation.setGlobalPropagator(new NextSentryPropagator()); } export { NextSentryPropagator, registerNextSentryPropagator }; //# sourceMappingURL=nextSentryPropagator.js.map