/*
* This is a AssemblyScript port of the original Java version, which was written by
* Gil Tene as described in
* https://github.com/HdrHistogram/HdrHistogram
* and released to the public domain, as explained at
* http://creativecommons.org/publicdomain/zero/1.0/
*/
/**
* Represents a value point iterated through in a Histogram, with associated stats.
*
* valueIteratedTo
:
The actual value level that was iterated to by the iterator
* prevValueIteratedTo
:
The actual value level that was iterated from by the iterator
* countAtValueIteratedTo
:
The count of recorded values in the histogram that
* exactly match this [lowestEquivalentValue(valueIteratedTo)...highestEquivalentValue(valueIteratedTo)] value
* range.
* countAddedInThisIterationStep
:
The count of recorded values in the histogram that
* were added to the totalCountToThisValue (below) as a result on this iteration step. Since multiple iteration
* steps may occur with overlapping equivalent value ranges, the count may be lower than the count found at
* the value (e.g. multiple linear steps or percentile levels can occur within a single equivalent value range)
* totalCountToThisValue
:
The total count of all recorded values in the histogram at
* values equal or smaller than valueIteratedTo.
* totalValueToThisValue
:
The sum of all recorded values in the histogram at values
* equal or smaller than valueIteratedTo.
* percentile
:
The percentile of recorded values in the histogram at values equal
* or smaller than valueIteratedTo.
* percentileLevelIteratedTo
:
The percentile level that the iterator returning this
* HistogramIterationValue had iterated to. Generally, percentileLevelIteratedTo will be equal to or smaller than
* percentile, but the same value point can contain multiple iteration levels for some iterators. E.g. a
* PercentileIterator can stop multiple times in the exact same value point (if the count at that value covers a
* range of multiple percentiles in the requested percentile iteration points).
*
*/
class HistogramIterationValue {
valueIteratedTo: u64;
valueIteratedFrom: u64;
countAtValueIteratedTo: u64;
countAddedInThisIterationStep: u64;
totalCountToThisValue: u64;
totalValueToThisValue: u64;
percentile: f64;
percentileLevelIteratedTo: f64;
constructor() {
this.reset();
}
reset(): void {
this.valueIteratedTo = 0;
this.valueIteratedFrom = 0;
this.countAtValueIteratedTo = 0;
this.countAddedInThisIterationStep = 0;
this.totalCountToThisValue = 0;
this.totalValueToThisValue = 0;
this.percentile = 0.0;
this.percentileLevelIteratedTo = 0.0;
}
}
export default HistogramIterationValue;