private static final Histogram HDR_HISTOGRAM = new Histogram(TimeUnit.MINUTES.toNanos(1), 2); // (max recorded value , decimal places precision) // Same shit, different latency capture method private static void observe(int i, long time) { HDR_HISTOGRAM.recordValue(time); } private static void report() { System.out.printf("#%d,%d,%d,%d,%d,%d,%d\n", HDR_HISTOGRAM.getMinValue(), HDR_HISTOGRAM.getValueAtPercentile(50), HDR_HISTOGRAM.getValueAtPercentile(90), HDR_HISTOGRAM.getValueAtPercentile(99), HDR_HISTOGRAM.getValueAtPercentile(99.9), HDR_HISTOGRAM.getValueAtPercentile(99.99), HDR_HISTOGRAM.getMaxValue()); HDR_HISTOGRAM.reset(); }