@opentelemetry/sdk-metrics
Version:
75 lines (74 loc) • 3 kB
TypeScript
import { Aggregator, SumAggregator, DropAggregator, LastValueAggregator, HistogramAggregator, ExponentialHistogramAggregator } from '../aggregator';
import { Accumulation } from '../aggregator/types';
import { InstrumentDescriptor } from '../InstrumentDescriptor';
import { Maybe } from '../utils';
/**
* Configures how measurements are combined into metrics for views.
*
* Aggregation provides a set of built-in aggregations via static methods.
*/
export interface Aggregation {
createAggregator(instrument: InstrumentDescriptor): Aggregator<Maybe<Accumulation>>;
}
/**
* The default drop aggregation.
*/
export declare class DropAggregation implements Aggregation {
private static DEFAULT_INSTANCE;
createAggregator(_instrument: InstrumentDescriptor): DropAggregator;
}
/**
* The default sum aggregation.
*/
export declare class SumAggregation implements Aggregation {
private static MONOTONIC_INSTANCE;
private static NON_MONOTONIC_INSTANCE;
createAggregator(instrument: InstrumentDescriptor): SumAggregator;
}
/**
* The default last value aggregation.
*/
export declare class LastValueAggregation implements Aggregation {
private static DEFAULT_INSTANCE;
createAggregator(_instrument: InstrumentDescriptor): LastValueAggregator;
}
/**
* The default histogram aggregation.
*/
export declare class HistogramAggregation implements Aggregation {
private static DEFAULT_INSTANCE;
createAggregator(_instrument: InstrumentDescriptor): HistogramAggregator;
}
/**
* The explicit bucket histogram aggregation.
*/
export declare class ExplicitBucketHistogramAggregation implements Aggregation {
private _boundaries;
private readonly _recordMinMax;
/**
* @param boundaries the bucket boundaries of the histogram aggregation
* @param _recordMinMax If set to true, min and max will be recorded. Otherwise, min and max will not be recorded.
*/
constructor(boundaries: number[], recordMinMax?: boolean);
createAggregator(_instrument: InstrumentDescriptor): HistogramAggregator;
}
export declare class ExponentialHistogramAggregation implements Aggregation {
private readonly _maxSize;
private readonly _recordMinMax;
constructor(maxSize?: number, recordMinMax?: boolean);
createAggregator(_instrument: InstrumentDescriptor): ExponentialHistogramAggregator;
}
/**
* The default aggregation.
*/
export declare class DefaultAggregation implements Aggregation {
private _resolve;
createAggregator(instrument: InstrumentDescriptor): Aggregator<Maybe<Accumulation>>;
}
export declare const DROP_AGGREGATION: DropAggregation;
export declare const SUM_AGGREGATION: SumAggregation;
export declare const LAST_VALUE_AGGREGATION: LastValueAggregation;
export declare const HISTOGRAM_AGGREGATION: HistogramAggregation;
export declare const EXPONENTIAL_HISTOGRAM_AGGREGATION: ExponentialHistogramAggregation;
export declare const DEFAULT_AGGREGATION: DefaultAggregation;
//# sourceMappingURL=Aggregation.d.ts.map