UNPKG

@opentelemetry/api

Version:
1 lines • 2.45 kB
{"version":3,"file":"metrics.cjs","names":["registerGlobal","DiagAPI","getGlobal","NOOP_METER_PROVIDER"],"sources":["../../src/api/metrics.ts"],"sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { Meter, MeterOptions } from '../metrics/Meter';\nimport type { MeterProvider } from '../metrics/MeterProvider';\nimport { NOOP_METER_PROVIDER } from '../metrics/NoopMeterProvider';\nimport {\n getGlobal,\n registerGlobal,\n unregisterGlobal,\n} from '../internal/global-utils';\nimport { DiagAPI } from './diag';\n\nconst API_NAME = 'metrics';\n\n/**\n * Singleton object which represents the entry point to the OpenTelemetry Metrics API\n *\n * @since 1.4.1\n */\nexport class MetricsAPI {\n private static _instance?: MetricsAPI;\n\n /** Empty private constructor prevents end users from constructing a new instance of the API */\n private constructor() {}\n\n /** Get the singleton instance of the Metrics API */\n public static getInstance(): MetricsAPI {\n if (!this._instance) {\n this._instance = new MetricsAPI();\n }\n\n return this._instance;\n }\n\n /**\n * Set the current global meter provider.\n * Returns true if the meter provider was successfully registered, else false.\n */\n public setGlobalMeterProvider(provider: MeterProvider): boolean {\n return registerGlobal(API_NAME, provider, DiagAPI.instance());\n }\n\n /**\n * Returns the global meter provider.\n */\n public getMeterProvider(): MeterProvider {\n return getGlobal(API_NAME) || NOOP_METER_PROVIDER;\n }\n\n /**\n * Returns a meter from the global meter provider.\n */\n public getMeter(\n name: string,\n version?: string,\n options?: MeterOptions\n ): Meter {\n return this.getMeterProvider().getMeter(name, version, options);\n }\n\n /** Remove the global meter provider */\n public disable(): void {\n unregisterGlobal(API_NAME, DiagAPI.instance());\n }\n}\n"],"mappings":";;;;AAeA,MAAM,WAAW;;;;;;AAOjB,IAAa,aAAb,MAAa,WAAW;;CAItB,cAAsB,CAAC;;CAGvB,OAAc,cAA0B;EACtC,IAAI,CAAC,KAAK,WACR,KAAK,YAAY,IAAI,WAAW;EAGlC,OAAO,KAAK;CACd;;;;;CAMA,uBAA8B,UAAkC;EAC9D,OAAOA,qBAAAA,eAAe,UAAU,UAAUC,aAAAA,QAAQ,SAAS,CAAC;CAC9D;;;;CAKA,mBAAyC;EACvC,OAAOC,qBAAAA,UAAU,QAAQ,KAAKC,0BAAAA;CAChC;;;;CAKA,SACE,MACA,SACA,SACO;EACP,OAAO,KAAK,iBAAiB,CAAC,CAAC,SAAS,MAAM,SAAS,OAAO;CAChE;;CAGA,UAAuB;EACrB,qBAAA,iBAAiB,UAAUF,aAAAA,QAAQ,SAAS,CAAC;CAC/C;AACF"}