tasq/node_modules/@opentelemetry/sdk-metrics/build/esm/InstrumentDescriptor.d.ts

45 lines
1.8 KiB
TypeScript

import { MetricOptions, ValueType } from '@opentelemetry/api';
import { View } from './view/View';
/**
* Supported types of metric instruments.
*/
export declare enum InstrumentType {
COUNTER = "COUNTER",
GAUGE = "GAUGE",
HISTOGRAM = "HISTOGRAM",
UP_DOWN_COUNTER = "UP_DOWN_COUNTER",
OBSERVABLE_COUNTER = "OBSERVABLE_COUNTER",
OBSERVABLE_GAUGE = "OBSERVABLE_GAUGE",
OBSERVABLE_UP_DOWN_COUNTER = "OBSERVABLE_UP_DOWN_COUNTER"
}
/**
* An internal interface describing the instrument.
*
* This is intentionally distinguished from the public MetricDescriptor (a.k.a. InstrumentDescriptor)
* which may not contains internal fields like metric advice.
*/
export interface InstrumentDescriptor {
readonly name: string;
readonly description: string;
readonly unit: string;
readonly type: InstrumentType;
readonly valueType: ValueType;
/**
* @experimental
*
* This is intentionally not using the API's type as it's only available from @opentelemetry/api 1.7.0 and up.
* In SDK 2.0 we'll be able to bump the minimum API version and remove this workaround.
*/
readonly advice: {
/**
* Hint the explicit bucket boundaries for SDK if the metric has been
* aggregated with a HistogramAggregator.
*/
explicitBucketBoundaries?: number[];
};
}
export declare function createInstrumentDescriptor(name: string, type: InstrumentType, options?: MetricOptions): InstrumentDescriptor;
export declare function createInstrumentDescriptorWithView(view: View, instrument: InstrumentDescriptor): InstrumentDescriptor;
export declare function isDescriptorCompatibleWith(descriptor: InstrumentDescriptor, otherDescriptor: InstrumentDescriptor): boolean;
export declare function isValidName(name: string): boolean;
//# sourceMappingURL=InstrumentDescriptor.d.ts.map