@opentelemetry/api
Version:
Public API for OpenTelemetry
1 lines • 5.37 kB
Source Map (JSON)
{"version":3,"file":"NoopMeter.cjs","names":[],"sources":["../../src/metrics/NoopMeter.ts"],"sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { Meter } from './Meter';\nimport type {\n BatchObservableCallback,\n Counter,\n Gauge,\n Histogram,\n MetricAttributes,\n MetricOptions,\n Observable,\n ObservableCallback,\n ObservableCounter,\n ObservableGauge,\n ObservableUpDownCounter,\n UpDownCounter,\n} from './Metric';\n\n/**\n * NoopMeter is a noop implementation of the {@link Meter} interface. It reuses\n * constant NoopMetrics for all of its methods.\n */\nexport class NoopMeter implements Meter {\n constructor() {}\n\n /**\n * @see {@link Meter.createGauge}\n */\n createGauge(_name: string, _options?: MetricOptions): Gauge {\n return NOOP_GAUGE_METRIC;\n }\n\n /**\n * @see {@link Meter.createHistogram}\n */\n createHistogram(_name: string, _options?: MetricOptions): Histogram {\n return NOOP_HISTOGRAM_METRIC;\n }\n\n /**\n * @see {@link Meter.createCounter}\n */\n createCounter(_name: string, _options?: MetricOptions): Counter {\n return NOOP_COUNTER_METRIC;\n }\n\n /**\n * @see {@link Meter.createUpDownCounter}\n */\n createUpDownCounter(_name: string, _options?: MetricOptions): UpDownCounter {\n return NOOP_UP_DOWN_COUNTER_METRIC;\n }\n\n /**\n * @see {@link Meter.createObservableGauge}\n */\n createObservableGauge(\n _name: string,\n _options?: MetricOptions\n ): ObservableGauge {\n return NOOP_OBSERVABLE_GAUGE_METRIC;\n }\n\n /**\n * @see {@link Meter.createObservableCounter}\n */\n createObservableCounter(\n _name: string,\n _options?: MetricOptions\n ): ObservableCounter {\n return NOOP_OBSERVABLE_COUNTER_METRIC;\n }\n\n /**\n * @see {@link Meter.createObservableUpDownCounter}\n */\n createObservableUpDownCounter(\n _name: string,\n _options?: MetricOptions\n ): ObservableUpDownCounter {\n return NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC;\n }\n\n /**\n * @see {@link Meter.addBatchObservableCallback}\n */\n addBatchObservableCallback(\n _callback: BatchObservableCallback,\n _observables: Observable[]\n ): void {}\n\n /**\n * @see {@link Meter.removeBatchObservableCallback}\n */\n removeBatchObservableCallback(_callback: BatchObservableCallback): void {}\n}\n\nexport class NoopMetric {}\n\nexport class NoopCounterMetric extends NoopMetric implements Counter {\n add(_value: number, _attributes: MetricAttributes): void {}\n}\n\nexport class NoopUpDownCounterMetric\n extends NoopMetric\n implements UpDownCounter\n{\n add(_value: number, _attributes: MetricAttributes): void {}\n}\n\nexport class NoopGaugeMetric extends NoopMetric implements Gauge {\n record(_value: number, _attributes: MetricAttributes): void {}\n}\n\nexport class NoopHistogramMetric extends NoopMetric implements Histogram {\n record(_value: number, _attributes: MetricAttributes): void {}\n}\n\nexport class NoopObservableMetric {\n addCallback(_callback: ObservableCallback) {}\n\n removeCallback(_callback: ObservableCallback) {}\n}\n\nexport class NoopObservableCounterMetric\n extends NoopObservableMetric\n implements ObservableCounter {}\n\nexport class NoopObservableGaugeMetric\n extends NoopObservableMetric\n implements ObservableGauge {}\n\nexport class NoopObservableUpDownCounterMetric\n extends NoopObservableMetric\n implements ObservableUpDownCounter {}\n\nexport const NOOP_METER = new NoopMeter();\n\n// Synchronous instruments\nexport const NOOP_COUNTER_METRIC = new NoopCounterMetric();\nexport const NOOP_GAUGE_METRIC = new NoopGaugeMetric();\nexport const NOOP_HISTOGRAM_METRIC = new NoopHistogramMetric();\nexport const NOOP_UP_DOWN_COUNTER_METRIC = new NoopUpDownCounterMetric();\n\n// Asynchronous instruments\nexport const NOOP_OBSERVABLE_COUNTER_METRIC = new NoopObservableCounterMetric();\nexport const NOOP_OBSERVABLE_GAUGE_METRIC = new NoopObservableGaugeMetric();\nexport const NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC =\n new NoopObservableUpDownCounterMetric();\n\n/**\n * Create a no-op Meter\n *\n * @since 1.3.0\n */\nexport function createNoopMeter(): Meter {\n return NOOP_METER;\n}\n"],"mappings":";;;;;AAyBA,IAAa,YAAb,MAAwC;CACtC,cAAc,CAAC;;;;CAKf,YAAY,OAAe,UAAiC;EAC1D,OAAO;CACT;;;;CAKA,gBAAgB,OAAe,UAAqC;EAClE,OAAO;CACT;;;;CAKA,cAAc,OAAe,UAAmC;EAC9D,OAAO;CACT;;;;CAKA,oBAAoB,OAAe,UAAyC;EAC1E,OAAO;CACT;;;;CAKA,sBACE,OACA,UACiB;EACjB,OAAO;CACT;;;;CAKA,wBACE,OACA,UACmB;EACnB,OAAO;CACT;;;;CAKA,8BACE,OACA,UACyB;EACzB,OAAO;CACT;;;;CAKA,2BACE,WACA,cACM,CAAC;;;;CAKT,8BAA8B,WAA0C,CAAC;AAC3E;AAEA,IAAa,aAAb,MAAwB,CAAC;AAEzB,IAAa,oBAAb,cAAuC,WAA8B;CACnE,IAAI,QAAgB,aAAqC,CAAC;AAC5D;AAEA,IAAa,0BAAb,cACU,WAEV;CACE,IAAI,QAAgB,aAAqC,CAAC;AAC5D;AAEA,IAAa,kBAAb,cAAqC,WAA4B;CAC/D,OAAO,QAAgB,aAAqC,CAAC;AAC/D;AAEA,IAAa,sBAAb,cAAyC,WAAgC;CACvE,OAAO,QAAgB,aAAqC,CAAC;AAC/D;AAEA,IAAa,uBAAb,MAAkC;CAChC,YAAY,WAA+B,CAAC;CAE5C,eAAe,WAA+B,CAAC;AACjD;AAEA,IAAa,8BAAb,cACU,qBACqB,CAAC;AAEhC,IAAa,4BAAb,cACU,qBACmB,CAAC;AAE9B,IAAa,oCAAb,cACU,qBAC2B,CAAC;AAEtC,MAAa,aAAa,IAAI,UAAU;AAGxC,MAAa,sBAAsB,IAAI,kBAAkB;AACzD,MAAa,oBAAoB,IAAI,gBAAgB;AACrD,MAAa,wBAAwB,IAAI,oBAAoB;AAC7D,MAAa,8BAA8B,IAAI,wBAAwB;AAGvE,MAAa,iCAAiC,IAAI,4BAA4B;AAC9E,MAAa,+BAA+B,IAAI,0BAA0B;AAC1E,MAAa,yCACX,IAAI,kCAAkC;;;;;;AAOxC,SAAgB,kBAAyB;CACvC,OAAO;AACT"}