113 lines
3.5 KiB
JavaScript
113 lines
3.5 KiB
JavaScript
/*
|
|
* Copyright The OpenTelemetry Authors
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* https://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
/**
|
|
* NoopMeter is a noop implementation of the {@link Meter} interface. It reuses
|
|
* constant NoopMetrics for all of its methods.
|
|
*/
|
|
export class NoopMeter {
|
|
constructor() { }
|
|
/**
|
|
* @see {@link Meter.createGauge}
|
|
*/
|
|
createGauge(_name, _options) {
|
|
return NOOP_GAUGE_METRIC;
|
|
}
|
|
/**
|
|
* @see {@link Meter.createHistogram}
|
|
*/
|
|
createHistogram(_name, _options) {
|
|
return NOOP_HISTOGRAM_METRIC;
|
|
}
|
|
/**
|
|
* @see {@link Meter.createCounter}
|
|
*/
|
|
createCounter(_name, _options) {
|
|
return NOOP_COUNTER_METRIC;
|
|
}
|
|
/**
|
|
* @see {@link Meter.createUpDownCounter}
|
|
*/
|
|
createUpDownCounter(_name, _options) {
|
|
return NOOP_UP_DOWN_COUNTER_METRIC;
|
|
}
|
|
/**
|
|
* @see {@link Meter.createObservableGauge}
|
|
*/
|
|
createObservableGauge(_name, _options) {
|
|
return NOOP_OBSERVABLE_GAUGE_METRIC;
|
|
}
|
|
/**
|
|
* @see {@link Meter.createObservableCounter}
|
|
*/
|
|
createObservableCounter(_name, _options) {
|
|
return NOOP_OBSERVABLE_COUNTER_METRIC;
|
|
}
|
|
/**
|
|
* @see {@link Meter.createObservableUpDownCounter}
|
|
*/
|
|
createObservableUpDownCounter(_name, _options) {
|
|
return NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC;
|
|
}
|
|
/**
|
|
* @see {@link Meter.addBatchObservableCallback}
|
|
*/
|
|
addBatchObservableCallback(_callback, _observables) { }
|
|
/**
|
|
* @see {@link Meter.removeBatchObservableCallback}
|
|
*/
|
|
removeBatchObservableCallback(_callback) { }
|
|
}
|
|
export class NoopMetric {
|
|
}
|
|
export class NoopCounterMetric extends NoopMetric {
|
|
add(_value, _attributes) { }
|
|
}
|
|
export class NoopUpDownCounterMetric extends NoopMetric {
|
|
add(_value, _attributes) { }
|
|
}
|
|
export class NoopGaugeMetric extends NoopMetric {
|
|
record(_value, _attributes) { }
|
|
}
|
|
export class NoopHistogramMetric extends NoopMetric {
|
|
record(_value, _attributes) { }
|
|
}
|
|
export class NoopObservableMetric {
|
|
addCallback(_callback) { }
|
|
removeCallback(_callback) { }
|
|
}
|
|
export class NoopObservableCounterMetric extends NoopObservableMetric {
|
|
}
|
|
export class NoopObservableGaugeMetric extends NoopObservableMetric {
|
|
}
|
|
export class NoopObservableUpDownCounterMetric extends NoopObservableMetric {
|
|
}
|
|
export const NOOP_METER = new NoopMeter();
|
|
// Synchronous instruments
|
|
export const NOOP_COUNTER_METRIC = new NoopCounterMetric();
|
|
export const NOOP_GAUGE_METRIC = new NoopGaugeMetric();
|
|
export const NOOP_HISTOGRAM_METRIC = new NoopHistogramMetric();
|
|
export const NOOP_UP_DOWN_COUNTER_METRIC = new NoopUpDownCounterMetric();
|
|
// Asynchronous instruments
|
|
export const NOOP_OBSERVABLE_COUNTER_METRIC = new NoopObservableCounterMetric();
|
|
export const NOOP_OBSERVABLE_GAUGE_METRIC = new NoopObservableGaugeMetric();
|
|
export const NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC = new NoopObservableUpDownCounterMetric();
|
|
/**
|
|
* Create a no-op Meter
|
|
*/
|
|
export function createNoopMeter() {
|
|
return NOOP_METER;
|
|
}
|
|
//# sourceMappingURL=NoopMeter.js.map
|