Class LongLastValueAggregator

  • All Implemented Interfaces:
    Aggregator

    public final class LongLastValueAggregator
    extends java.lang.Object
    Aggregator that aggregates recorded values by storing the last recorded value.

    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.

    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void doRecordDouble​(double value)
      Concrete Aggregator instances should implement this method in order support recordings of double values.
      void doRecordLong​(long value)
      Concrete Aggregator instances should implement this method in order support recordings of long values.
      static AggregatorFactory getFactory()
      Returns an AggregatorFactory that produces LongLastValueAggregator instances.
      boolean hasRecordings()
      Whether there have been any recordings since this aggregator has been reset.
      void mergeToAndReset​(Aggregator other)
      Merges the current value into the given aggregator and resets the current value in this Aggregator.
      void recordDouble​(double value)
      Updates the current aggregator with a newly recorded double value.
      void recordLong​(long value)
      Updates the current aggregator with a newly recorded long value.
      MetricData.Point toPoint​(long startEpochNanos, long epochNanos, io.opentelemetry.api.common.Labels labels)
      Returns the Point with the given properties and the value from this Aggregation.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • LongLastValueAggregator

        public LongLastValueAggregator()
    • Method Detail

      • toPoint

        @Nullable
        public MetricData.Point toPoint​(long startEpochNanos,
                                        long epochNanos,
                                        io.opentelemetry.api.common.Labels labels)
        Description copied from interface: Aggregator
        Returns the Point with the given properties and the value from this Aggregation.
        Parameters:
        startEpochNanos - the startEpochNanos for the Point.
        epochNanos - the epochNanos for the Point.
        labels - the labels for the Point.
        Returns:
        the Point with the value from this Aggregation.
      • doRecordLong

        public void doRecordLong​(long value)
        Concrete Aggregator instances should implement this method in order support recordings of long values.
      • mergeToAndReset

        public void mergeToAndReset​(Aggregator other)
        Description copied from interface: Aggregator
        Merges the current value into the given aggregator and resets the current value in this Aggregator.
        Specified by:
        mergeToAndReset in interface Aggregator
        Parameters:
        other - value to merge into.
      • recordLong

        public final void recordLong​(long value)
        Description copied from interface: Aggregator
        Updates the current aggregator with a newly recorded long value.
        Specified by:
        recordLong in interface Aggregator
        Parameters:
        value - the new long value to be added.
      • recordDouble

        public final void recordDouble​(double value)
        Description copied from interface: Aggregator
        Updates the current aggregator with a newly recorded double value.
        Specified by:
        recordDouble in interface Aggregator
        Parameters:
        value - the new double value to be added.
      • doRecordDouble

        protected void doRecordDouble​(double value)
        Concrete Aggregator instances should implement this method in order support recordings of double values.
      • hasRecordings

        public boolean hasRecordings()
        Description copied from interface: Aggregator
        Whether there have been any recordings since this aggregator has been reset.
        Specified by:
        hasRecordings in interface Aggregator