UNPKG

@opentelemetry/api

Version:
1 lines • 2.23 kB
{"version":3,"file":"ProxyTracerProvider.mjs","names":[],"sources":["../../src/trace/ProxyTracerProvider.ts"],"sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { Tracer } from './tracer';\nimport type { TracerProvider } from './tracer_provider';\nimport { ProxyTracer } from './ProxyTracer';\nimport { NoopTracerProvider } from './NoopTracerProvider';\nimport type { TracerOptions } from './tracer_options';\n\nconst NOOP_TRACER_PROVIDER = new NoopTracerProvider();\n\n/**\n * Tracer provider which provides {@link ProxyTracer}s.\n *\n * Before a delegate is set, tracers provided are NoOp.\n * When a delegate is set, traces are provided from the delegate.\n * When a delegate is set after tracers have already been provided,\n * all tracers already provided will use the provided delegate implementation.\n *\n * @deprecated This will be removed in the next major version.\n * @since 1.0.0\n */\nexport class ProxyTracerProvider implements TracerProvider {\n private _delegate?: TracerProvider;\n\n /**\n * Get a {@link ProxyTracer}\n */\n getTracer(name: string, version?: string, options?: TracerOptions): Tracer {\n return (\n this.getDelegateTracer(name, version, options) ??\n new ProxyTracer(this, name, version, options)\n );\n }\n\n getDelegate(): TracerProvider {\n return this._delegate ?? NOOP_TRACER_PROVIDER;\n }\n\n /**\n * Set the delegate tracer provider\n */\n setDelegate(delegate: TracerProvider) {\n this._delegate = delegate;\n }\n\n getDelegateTracer(\n name: string,\n version?: string,\n options?: TracerOptions\n ): Tracer | undefined {\n return this._delegate?.getTracer(name, version, options);\n }\n}\n"],"mappings":";;;AAWA,MAAM,uBAAuB,IAAI,mBAAmB;;;;;;;;;;;;AAapD,IAAa,sBAAb,MAA2D;;;;CAMzD,UAAU,MAAc,SAAkB,SAAiC;;EACzE,QAAA,wBACE,KAAK,kBAAkB,MAAM,SAAS,OAAO,OAAA,QAAA,0BAAA,KAAA,IAAA,wBAC7C,IAAI,YAAY,MAAM,MAAM,SAAS,OAAO;CAEhD;CAEA,cAA8B;;EAC5B,QAAA,kBAAO,KAAK,eAAA,QAAA,oBAAA,KAAA,IAAA,kBAAa;CAC3B;;;;CAKA,YAAY,UAA0B;EACpC,KAAK,YAAY;CACnB;CAEA,kBACE,MACA,SACA,SACoB;;EACpB,QAAA,mBAAO,KAAK,eAAA,QAAA,qBAAA,KAAA,IAAA,KAAA,IAAA,iBAAW,UAAU,MAAM,SAAS,OAAO;CACzD;AACF"}