org.apache.cassandra.utils

## Class EstimatedHistogram

- java.lang.Object
- - org.apache.cassandra.utils.EstimatedHistogram

-     public class EstimatedHistogram
      extends java.lang.Object

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `EstimatedHistogram.EstimatedHistogramSerializer`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static EstimatedHistogram.EstimatedHistogramSerializer` | `serializer`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `EstimatedHistogram()`
    `EstimatedHistogram(int bucketCount)`
    `EstimatedHistogram(int bucketCount, boolean considerZeroes)`
    `EstimatedHistogram(long[] bucketData)` Create EstimatedHistogram from only bucket data.
    `EstimatedHistogram(long[] offsets, long[] bucketData)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `add(long n)` Increments the count of the bucket closest to n, rounding UP.
    `long` | `count()`
    `boolean` | `equals(java.lang.Object o)`
    `long[]` | `getBucketOffsets()`
    `long[]` | `getBuckets(boolean reset)`
    `long` | `getLargestBucketOffset()`
    `int` | `hashCode()`
    `boolean` | `isOverflowed()`
    `void` | `log(org.slf4j.Logger log)` log.trace() every record in the histogram
    `long` | `max()`
    `long` | `mean()`
    `long` | `min()`
    `static long[]` | `newOffsets(int size, boolean considerZeroes)`
    `long` | `percentile(double percentile)`
    `double` | `rawMean()`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### serializer

          public static final EstimatedHistogram.EstimatedHistogramSerializer serializer

  - ### Constructor Detail

    - #### EstimatedHistogram

          public EstimatedHistogram()

    - #### EstimatedHistogram

          public EstimatedHistogram(int bucketCount)

    - #### EstimatedHistogram

          public EstimatedHistogram(int bucketCount,
                                    boolean considerZeroes)

    - #### EstimatedHistogram

          public EstimatedHistogram(long[] bucketData)

      Create EstimatedHistogram from only bucket data.
      Parameters:
        `bucketData` - bucket data

    - #### EstimatedHistogram

          public EstimatedHistogram(long[] offsets,
                                    long[] bucketData)

  - ### Method Detail

    - #### newOffsets

          public static long[] newOffsets(int size,
                                          boolean considerZeroes)

    - #### getBucketOffsets

          public long[] getBucketOffsets()

      Returns:
        the histogram values corresponding to each bucket index

    - #### add

          public void add(long n)

      Increments the count of the bucket closest to n, rounding UP.
      Parameters:
        `n` -

    - #### getBuckets

          public long[] getBuckets(boolean reset)

      Parameters:
        `reset` - zero out buckets afterwards if true
      Returns:
        a long[] containing the current histogram buckets

    - #### min

          public long min()

      Returns:
        the smallest value that could have been added to this histogram

    - #### max

          public long max()

      Returns:
        the largest value that could have been added to this histogram. If the histogram overflowed, returns Long.MAX_VALUE.

    - #### percentile

          public long percentile(double percentile)

      Parameters:
        `percentile` -
      Returns:
        estimated value at given percentile

    - #### mean

          public long mean()

      Returns:
        the ceil of mean histogram value (average of bucket offsets, weighted by count)
      Throws:
        `java.lang.IllegalStateException` - if any values were greater than the largest bucket threshold

    - #### rawMean

          public double rawMean()

      Returns:
        the mean histogram value (average of bucket offsets, weighted by count)
      Throws:
        `java.lang.IllegalStateException` - if any values were greater than the largest bucket threshold

    - #### count

          public long count()

      Returns:
        the total number of non-zero values

    - #### getLargestBucketOffset

          public long getLargestBucketOffset()

      Returns:
        the largest bucket offset

    - #### isOverflowed

          public boolean isOverflowed()

      Returns:
        true if this histogram has overflowed -- that is, a value larger than our largest bucket could bound was added

    - #### log

          public void log(org.slf4j.Logger log)

      log.trace() every record in the histogram
      Parameters:
        `log` -

    - #### equals

          public boolean equals(java.lang.Object o)

      Overrides:
        `equals` in class `java.lang.Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `java.lang.Object`

Copyright © 2018 The Apache Software Foundation