Class Base2ExponentialHistogramAggregation
java.lang.Object
io.opentelemetry.sdk.metrics.internal.view.Base2ExponentialHistogramAggregation
- All Implemented Interfaces:
Aggregation, AggregatorFactory
public final class Base2ExponentialHistogramAggregation
extends Object
implements Aggregation, AggregatorFactory
Exponential bucket histogram aggregation configuration.
This class is internal and is hence not for public use. Its APIs are unstable and can change at any time.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Aggregationprivate static final intprivate static final intprivate final intprivate final int -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateBase2ExponentialHistogramAggregation(int maxBuckets, int maxScale) -
Method Summary
Modifier and TypeMethodDescriptionstatic Aggregationcreate(int maxBuckets, int maxScale) Aggregations measurements into anMetricDataType.EXPONENTIAL_HISTOGRAM.<T extends PointData, U extends ExemplarData>
Aggregator<T, U> createAggregator(InstrumentDescriptor instrumentDescriptor, ExemplarFilter exemplarFilter, MemoryMode memoryMode) Returns a newAggregator.static AggregationbooleanisCompatibleWithInstrument(InstrumentDescriptor instrumentDescriptor) Determine if theAggregatorproduced byAggregatorFactory.createAggregator(InstrumentDescriptor, ExemplarFilter, MemoryMode)is compatible with theinstrumentDescriptor.toString()
-
Field Details
-
DEFAULT_MAX_BUCKETS
private static final int DEFAULT_MAX_BUCKETS- See Also:
-
DEFAULT_MAX_SCALE
private static final int DEFAULT_MAX_SCALE- See Also:
-
DEFAULT
-
maxBuckets
private final int maxBuckets -
maxScale
private final int maxScale
-
-
Constructor Details
-
Base2ExponentialHistogramAggregation
private Base2ExponentialHistogramAggregation(int maxBuckets, int maxScale)
-
-
Method Details
-
getDefault
-
create
Aggregations measurements into anMetricDataType.EXPONENTIAL_HISTOGRAM.- Parameters:
maxBuckets- the max number of positive buckets and negative buckets (max total buckets is 2 *maxBuckets+ 1 zero bucket).maxScale- the maximum and initial scale. If measurements can't fit in a particular scale given themaxBuckets, the scale is reduced until the measurements can be accommodated. Setting maxScale may reduce the number of downscales. Additionally, the performance of computing bucket index is improved when scale is invalid input: '<'= 0.- Returns:
- the aggregation
-
createAggregator
public <T extends PointData, U extends ExemplarData> Aggregator<T,U> createAggregator(InstrumentDescriptor instrumentDescriptor, ExemplarFilter exemplarFilter, MemoryMode memoryMode) Description copied from interface:AggregatorFactoryReturns a newAggregator.- Specified by:
createAggregatorin interfaceAggregatorFactory- Parameters:
instrumentDescriptor- the descriptor of theInstrumentthat will record measurements.exemplarFilter- the filter on which measurements should turn into exemplarsmemoryMode- TheMemoryModethe aggregator will use- Returns:
- a new
Aggregator.Aggregator.drop()indicates no measurements should be recorded.
-
isCompatibleWithInstrument
Description copied from interface:AggregatorFactoryDetermine if theAggregatorproduced byAggregatorFactory.createAggregator(InstrumentDescriptor, ExemplarFilter, MemoryMode)is compatible with theinstrumentDescriptor.- Specified by:
isCompatibleWithInstrumentin interfaceAggregatorFactory
-
toString
-