@sentry/nextjs
Version:
Official Sentry SDK for Next.js
22 lines • 1.34 kB
TypeScript
import type { Context, TextMapSetter, TracerProvider } from '@opentelemetry/api';
import { SentryPropagator } from '@sentry/opentelemetry';
/**
* A `SentryPropagator` that does not hand out the trace meta tags of a document while Next.js
* prerenders it. Trace context baked into a prerendered shell would be replayed to every visitor the
* shell is served to, so the browser could continue a trace that never handled its request. The shell
* gets the prerender's trace in a `sentry-cache-origin` tag instead, which the client only links.
*
* The SDK registers it when it sets up OpenTelemetry. An app that sets up OpenTelemetry itself
* registers it in place of `SentryPropagator` and calls `markPrerendersOnTracerProvider` with its
* tracer provider, which this propagator relies on to recognize a prerender.
*/
export declare class NextSentryPropagator extends SentryPropagator {
/** @inheritDoc */
inject(ctx: Context, carrier: unknown, setter: TextMapSetter): void;
}
/**
* Makes the tracer provider the Node SDK registered mark prerenders on the OpenTelemetry context, and
* replaces the propagator it registered with one that hands out no meta tags on a marked context.
*/
export declare function registerNextSentryPropagator(provider: TracerProvider): void;
//# sourceMappingURL=nextSentryPropagator.d.ts.map