import { JobSamplingContext, SamplingConfig } from "./types.mjs"; import { SamplingController } from "./runtime.mjs"; import { Context } from "@opentelemetry/api"; import { ReadableSpan, Span as Span$1, SpanProcessor } from "@opentelemetry/sdk-trace-base"; //#region src/sampling/activation_span_processor.d.ts /** * Converts a root span into a job sampling context. */ type JobSamplingContextExtractor = (span: Span$1) => JobSamplingContext | undefined; /** * Default extractor for OpenTelemetry messaging job spans. */ declare const defaultJobSamplingContextExtractor: JobSamplingContextExtractor; /** * Applies Monocle sampling rules to job root spans created by third-party * instrumentations that do not expose their own sampling hook. */ declare class SamplingActivationSpanProcessor implements SpanProcessor { #private; constructor(options: { sampling: SamplingConfig; controller?: SamplingController; extractor?: JobSamplingContextExtractor; }); /** * Registers matching job root traces in the sampling controller. */ onStart(span: Span$1, _parentContext: Context): void; /** * This processor only activates sampling state when spans start. */ onEnd(_span: ReadableSpan): void; /** * No-op because this processor does not export data. */ forceFlush(): Promise; /** * No-op because this processor does not own external resources. */ shutdown(): Promise; } //#endregion export { JobSamplingContextExtractor, SamplingActivationSpanProcessor, defaultJobSamplingContextExtractor };