Class LogarithmicIterator

java.lang.Object
org.HdrHistogram.AbstractHistogramIterator
org.HdrHistogram.LogarithmicIterator
All Implemented Interfaces:
Iterator<HistogramIterationValue>

public class LogarithmicIterator extends AbstractHistogramIterator implements Iterator<HistogramIterationValue>
Used for iterating through histogram values in logarithmically increasing levels. The iteration is performed in steps that start at valueUnitsInFirstBucket and increase exponentially according to logBase, terminating when all recorded histogram values are exhausted. Note that each iteration "bucket" includes values up to and including the next bucket boundary value.
  • Field Details

    • valueUnitsInFirstBucket

      long valueUnitsInFirstBucket
    • logBase

      double logBase
    • nextValueReportingLevel

      double nextValueReportingLevel
    • currentStepHighestValueReportingLevel

      long currentStepHighestValueReportingLevel
    • currentStepLowestValueReportingLevel

      long currentStepLowestValueReportingLevel
  • Constructor Details

    • LogarithmicIterator

      public LogarithmicIterator(AbstractHistogram histogram, long valueUnitsInFirstBucket, double logBase)
      Parameters:
      histogram - The histogram this iterator will operate on
      valueUnitsInFirstBucket - the size (in value units) of the first value bucket step
      logBase - the multiplier by which the bucket size is expanded in each iteration step.
  • Method Details

    • reset

      public void reset(long valueUnitsInFirstBucket, double logBase)
      Reset iterator for re-use in a fresh iteration over the same histogram data set.
      Parameters:
      valueUnitsInFirstBucket - the size (in value units) of the first value bucket step
      logBase - the multiplier by which the bucket size is expanded in each iteration step.
    • reset

      private void reset(AbstractHistogram histogram, long valueUnitsInFirstBucket, double logBase)
    • hasNext

      public boolean hasNext()
      Description copied from class: AbstractHistogramIterator
      Returns true if the iteration has more elements. (In other words, returns true if next would return an element rather than throwing an exception.)
      Specified by:
      hasNext in interface Iterator<HistogramIterationValue>
      Overrides:
      hasNext in class AbstractHistogramIterator
      Returns:
      true if the iterator has more elements.
    • incrementIterationLevel

      void incrementIterationLevel()
      Specified by:
      incrementIterationLevel in class AbstractHistogramIterator
    • getValueIteratedTo

      long getValueIteratedTo()
      Overrides:
      getValueIteratedTo in class AbstractHistogramIterator
    • reachedIterationLevel

      boolean reachedIterationLevel()
      Specified by:
      reachedIterationLevel in class AbstractHistogramIterator
      Returns:
      true if the current position's data should be emitted by the iterator