Нужна помощь в использовании библиотеки Java HdrHistogram
Я использую Java-библиотеку HdrHistogram, но не получаю желаемый результат. Можете ли вы помочь мне понять, есть ли ошибка в библиотеке или ожидаемое значение.
В этом случае я ожидаю, что выход будет 1000000, но фактический выход составляет 1000003
import org.HdrHistogram.*;
public class Main {
public static void main(String[] args) throws InterruptedException {
Histogram histogram = new Histogram(5);
histogram.recordValue(1000000);
histogram.recordValue(1000001);
histogram.recordValue(1000002);
histogram.recordValue(90);
histogram.recordValue(10);
System.err.println(histogram.getValueAtPercentile(50.0));
}
}
Почему это происходит. Мои настройки Maven:-
<dependency>
<groupId>org.hdrhistogram</groupId>
<artifactId>HdrHistogram</artifactId>
<version>2.1.8</version>
</dependency>
1 ответ
Это правильное поведение. С 5 десятичными точками указанного разрешения / разделения (в вашем примере) любой результат, который равен 1000000 +/- 100, будет правильным. 1000003 находится в пределах этого диапазона, и histogram.valuesAreEquivalent(1000000, 1000003) будет / должен возвращать true. Обратите внимание, что вы можете использовать histogram.lowestEquivalentValue(1000000) и гистограмму. самое высокое EquivalentValue (1000000), чтобы установить диапазон эквивалентных значений.