UNPKG

2.08 kBTypeScriptView Raw
1import { TracerProvider, TextMapPropagator } from '@opentelemetry/api';
2import { Resource } from '@opentelemetry/resources';
3import { SpanProcessor, Tracer } from '.';
4import { SDKRegistrationConfig, TracerConfig } from './types';
5import { SpanExporter } from './export/SpanExporter';
6export declare type PROPAGATOR_FACTORY = () => TextMapPropagator;
7export declare type EXPORTER_FACTORY = () => SpanExporter;
8export declare enum ForceFlushState {
9 'resolved' = 0,
10 'timeout' = 1,
11 'error' = 2,
12 'unresolved' = 3
13}
14/**
15 * This class represents a basic tracer provider which platform libraries can extend
16 */
17export declare class BasicTracerProvider implements TracerProvider {
18 protected static readonly _registeredPropagators: Map<string, PROPAGATOR_FACTORY>;
19 protected static readonly _registeredExporters: Map<string, EXPORTER_FACTORY>;
20 private readonly _config;
21 private readonly _registeredSpanProcessors;
22 private readonly _tracers;
23 activeSpanProcessor: SpanProcessor;
24 readonly resource: Resource;
25 constructor(config?: TracerConfig);
26 getTracer(name: string, version?: string): Tracer;
27 /**
28 * Adds a new {@link SpanProcessor} to this tracer.
29 * @param spanProcessor the new SpanProcessor to be added.
30 */
31 addSpanProcessor(spanProcessor: SpanProcessor): void;
32 getActiveSpanProcessor(): SpanProcessor;
33 /**
34 * Register this TracerProvider for use with the OpenTelemetry API.
35 * Undefined values may be replaced with defaults, and
36 * null values will be skipped.
37 *
38 * @param config Configuration object for SDK registration
39 */
40 register(config?: SDKRegistrationConfig): void;
41 forceFlush(): Promise<void>;
42 shutdown(): Promise<void>;
43 protected _getPropagator(name: string): TextMapPropagator | undefined;
44 protected _getSpanExporter(name: string): SpanExporter | undefined;
45 protected _buildPropagatorFromEnv(): TextMapPropagator | undefined;
46 protected _buildExporterFromEnv(): SpanExporter | undefined;
47}
48//# sourceMappingURL=BasicTracerProvider.d.ts.map
\No newline at end of file