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 Aggregation
private static final int
private static final int
private final int
private final int
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
Base2ExponentialHistogramAggregation
(int maxBuckets, int maxScale) -
Method Summary
Modifier and TypeMethodDescriptionstatic Aggregation
create
(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 Aggregation
boolean
isCompatibleWithInstrument
(InstrumentDescriptor instrumentDescriptor) Determine if theAggregator
produced 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:AggregatorFactory
Returns a newAggregator
.- Specified by:
createAggregator
in interfaceAggregatorFactory
- Parameters:
instrumentDescriptor
- the descriptor of theInstrument
that will record measurements.exemplarFilter
- the filter on which measurements should turn into exemplarsmemoryMode
- TheMemoryMode
the aggregator will use- Returns:
- a new
Aggregator
.Aggregator.drop()
indicates no measurements should be recorded.
-
isCompatibleWithInstrument
Description copied from interface:AggregatorFactory
Determine if theAggregator
produced byAggregatorFactory.createAggregator(InstrumentDescriptor, ExemplarFilter, MemoryMode)
is compatible with theinstrumentDescriptor
.- Specified by:
isCompatibleWithInstrument
in interfaceAggregatorFactory
-
toString
-