123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- import { BatchObservableCallback, Counter, Gauge, Histogram, MetricAttributes, MetricOptions, Observable, ObservableCounter, ObservableGauge, ObservableUpDownCounter, UpDownCounter } from './Metric';
- /**
- * An interface describes additional metadata of a meter.
- */
- export interface MeterOptions {
- /**
- * The schemaUrl of the meter or instrumentation library
- */
- schemaUrl?: string;
- }
- /**
- * An interface to allow the recording metrics.
- *
- * {@link Metric}s are used for recording pre-defined aggregation (`Counter`),
- * or raw values (`Histogram`) in which the aggregation and attributes
- * for the exported metric are deferred.
- */
- export interface Meter {
- /**
- * Creates and returns a new `Gauge`.
- * @param name the name of the metric.
- * @param [options] the metric options.
- */
- createGauge<AttributesTypes extends MetricAttributes = MetricAttributes>(name: string, options?: MetricOptions): Gauge<AttributesTypes>;
- /**
- * Creates and returns a new `Histogram`.
- * @param name the name of the metric.
- * @param [options] the metric options.
- */
- createHistogram<AttributesTypes extends MetricAttributes = MetricAttributes>(name: string, options?: MetricOptions): Histogram<AttributesTypes>;
- /**
- * Creates a new `Counter` metric. Generally, this kind of metric when the
- * value is a quantity, the sum is of primary interest, and the event count
- * and value distribution are not of primary interest.
- * @param name the name of the metric.
- * @param [options] the metric options.
- */
- createCounter<AttributesTypes extends MetricAttributes = MetricAttributes>(name: string, options?: MetricOptions): Counter<AttributesTypes>;
- /**
- * Creates a new `UpDownCounter` metric. UpDownCounter is a synchronous
- * instrument and very similar to Counter except that Add(increment)
- * supports negative increments. It is generally useful for capturing changes
- * in an amount of resources used, or any quantity that rises and falls
- * during a request.
- * Example uses for UpDownCounter:
- * <ol>
- * <li> count the number of active requests. </li>
- * <li> count memory in use by instrumenting new and delete. </li>
- * <li> count queue size by instrumenting enqueue and dequeue. </li>
- * <li> count semaphore up and down operations. </li>
- * </ol>
- *
- * @param name the name of the metric.
- * @param [options] the metric options.
- */
- createUpDownCounter<AttributesTypes extends MetricAttributes = MetricAttributes>(name: string, options?: MetricOptions): UpDownCounter<AttributesTypes>;
- /**
- * Creates a new `ObservableGauge` metric.
- *
- * The callback SHOULD be safe to be invoked concurrently.
- *
- * @param name the name of the metric.
- * @param [options] the metric options.
- */
- createObservableGauge<AttributesTypes extends MetricAttributes = MetricAttributes>(name: string, options?: MetricOptions): ObservableGauge<AttributesTypes>;
- /**
- * Creates a new `ObservableCounter` metric.
- *
- * The callback SHOULD be safe to be invoked concurrently.
- *
- * @param name the name of the metric.
- * @param [options] the metric options.
- */
- createObservableCounter<AttributesTypes extends MetricAttributes = MetricAttributes>(name: string, options?: MetricOptions): ObservableCounter<AttributesTypes>;
- /**
- * Creates a new `ObservableUpDownCounter` metric.
- *
- * The callback SHOULD be safe to be invoked concurrently.
- *
- * @param name the name of the metric.
- * @param [options] the metric options.
- */
- createObservableUpDownCounter<AttributesTypes extends MetricAttributes = MetricAttributes>(name: string, options?: MetricOptions): ObservableUpDownCounter<AttributesTypes>;
- /**
- * Sets up a function that will be called whenever a metric collection is
- * initiated.
- *
- * If the function is already in the list of callbacks for this Observable,
- * the function is not added a second time.
- *
- * Only the associated observables can be observed in the callback.
- * Measurements of observables that are not associated observed in the
- * callback are dropped.
- *
- * @param callback the batch observable callback
- * @param observables the observables associated with this batch observable callback
- */
- addBatchObservableCallback<AttributesTypes extends MetricAttributes = MetricAttributes>(callback: BatchObservableCallback<AttributesTypes>, observables: Observable<AttributesTypes>[]): void;
- /**
- * Removes a callback previously registered with {@link Meter.addBatchObservableCallback}.
- *
- * The callback to be removed is identified using a combination of the callback itself,
- * and the set of the observables associated with it.
- *
- * @param callback the batch observable callback
- * @param observables the observables associated with this batch observable callback
- */
- removeBatchObservableCallback<AttributesTypes extends MetricAttributes = MetricAttributes>(callback: BatchObservableCallback<AttributesTypes>, observables: Observable<AttributesTypes>[]): void;
- }
- //# sourceMappingURL=Meter.d.ts.map
|