@bracketed/otel-api
Version:
@opentelementery/api but ported to suit modern uses. (2025)
42 lines (39 loc) • 1.34 kB
TypeScript
import { Tracer } from './tracer.js';
import { TracerProvider } from './tracer_provider.js';
import { TracerOptions } from './tracer_options.js';
import '../context/types.js';
import './SpanOptions.js';
import '../common/Time.js';
import './attributes.js';
import '../common/Attributes.js';
import './link.js';
import './span_context.js';
import './trace_state.js';
import './span_kind.js';
import './span.js';
import '../common/Exception.js';
import './status.js';
/**
* Tracer provider which provides {@link ProxyTracer}s.
*
* Before a delegate is set, tracers provided are NoOp.
* When a delegate is set, traces are provided from the delegate.
* When a delegate is set after tracers have already been provided,
* all tracers already provided will use the provided delegate implementation.
*
* @since 1.0.0
*/
declare class ProxyTracerProvider implements TracerProvider {
private _delegate?;
/**
* Get a {@link ProxyTracer}
*/
getTracer(name: string, version?: string, options?: TracerOptions): Tracer;
getDelegate(): TracerProvider;
/**
* Set the delegate tracer provider
*/
setDelegate(delegate: TracerProvider): void;
getDelegateTracer(name: string, version?: string, options?: TracerOptions): Tracer | undefined;
}
export { ProxyTracerProvider };