Class LongLastValueAggregator
- All Implemented Interfaces:
Aggregator<LongPointData,
LongExemplarData>
Limitation: The current implementation does not store a time when the value was recorded, so merging multiple LastValueAggregators will not preserve the ordering of records. This is not a problem because LastValueAggregator is currently only available for Observers which record all values once.
This class is internal and is hence not for public use. Its APIs are unstable and can change at any time.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static final class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final MemoryMode
private final Supplier
<ExemplarReservoir<LongExemplarData>> -
Constructor Summary
ConstructorsConstructorDescriptionLongLastValueAggregator
(Supplier<ExemplarReservoir<LongExemplarData>> reservoirSupplier, MemoryMode memoryMode) -
Method Summary
Modifier and TypeMethodDescriptionvoid
copyPoint
(LongPointData point, LongPointData toReusablePoint) Copiespoint
intotoReusablePoint
.Returns a newAggregatorHandle
.Creates a new reusable point.diff
(LongPointData previous, LongPointData current) Returns a new DELTA point by computing the difference between two cumulative points.void
diffInPlace
(LongPointData previousReusablePoint, LongPointData currentPoint) Resets one reusable point to be a DELTA point by computing the difference between two cumulative points.toMetricData
(Resource resource, InstrumentationScopeInfo instrumentationScopeInfo, MetricDescriptor descriptor, Collection<LongPointData> points, AggregationTemporality temporality) Returns theMetricData
that thisAggregation
will produce.toPoint
(Measurement measurement) Return a new point representing the measurement.void
toPoint
(Measurement measurement, LongPointData reusablePoint) ResetsreusablePoint
to represent themeasurement
.
-
Field Details
-
reservoirSupplier
-
memoryMode
-
-
Constructor Details
-
LongLastValueAggregator
public LongLastValueAggregator(Supplier<ExemplarReservoir<LongExemplarData>> reservoirSupplier, MemoryMode memoryMode)
-
-
Method Details
-
createHandle
Description copied from interface:Aggregator
Returns a newAggregatorHandle
. This MUST by used by the synchronous to aggregate recorded measurements during the collection cycle.- Specified by:
createHandle
in interfaceAggregator<LongPointData,
LongExemplarData> - Returns:
- a new
AggregatorHandle
.
-
diff
Description copied from interface:Aggregator
Returns a new DELTA point by computing the difference between two cumulative points.Aggregators MUST implement diff if it can be used with asynchronous instruments.
- Specified by:
diff
in interfaceAggregator<LongPointData,
LongExemplarData> - Parameters:
previous
- the previously captured point.current
- the newly captured (cumulative) point.- Returns:
- The resulting delta point.
-
diffInPlace
Description copied from interface:Aggregator
Resets one reusable point to be a DELTA point by computing the difference between two cumulative points.The delta between the two points is set on
previousCumulativeReusable
Aggregators MUST implement diff if it can be used with asynchronous instruments.
- Specified by:
diffInPlace
in interfaceAggregator<LongPointData,
LongExemplarData> - Parameters:
previousReusablePoint
- the previously captured point.currentPoint
- the newly captured (cumulative) point.
-
toPoint
Description copied from interface:Aggregator
Return a new point representing the measurement.Aggregators MUST implement diff if it can be used with asynchronous instruments.
- Specified by:
toPoint
in interfaceAggregator<LongPointData,
LongExemplarData>
-
toPoint
Description copied from interface:Aggregator
ResetsreusablePoint
to represent themeasurement
.Aggregators MUST implement diff if it can be used with asynchronous instruments.
- Specified by:
toPoint
in interfaceAggregator<LongPointData,
LongExemplarData>
-
createReusablePoint
Description copied from interface:Aggregator
Creates a new reusable point.- Specified by:
createReusablePoint
in interfaceAggregator<LongPointData,
LongExemplarData>
-
copyPoint
Description copied from interface:Aggregator
Copiespoint
intotoReusablePoint
.- Specified by:
copyPoint
in interfaceAggregator<LongPointData,
LongExemplarData>
-
toMetricData
public MetricData toMetricData(Resource resource, InstrumentationScopeInfo instrumentationScopeInfo, MetricDescriptor descriptor, Collection<LongPointData> points, AggregationTemporality temporality) Description copied from interface:Aggregator
Returns theMetricData
that thisAggregation
will produce.- Specified by:
toMetricData
in interfaceAggregator<LongPointData,
LongExemplarData> - Parameters:
resource
- the resource producing the metric.instrumentationScopeInfo
- the scope that instrumented the metric.descriptor
- the name, description and unit of the metric.points
- list of pointstemporality
- the temporality of the metric.- Returns:
- the
MetricDataType
that thisAggregation
will produce.
-