@Override public long getMin() { if (stats.getCount() == 0) { return 0; } return Math.round(stats.getMin()); }
@Override public double getMean() { if (stats.getCount() == 0) { return 0.0; } return stats.getMean(); }
@Override public double getValue(double quantile) { if (stats.getCount() == 0) { return 0.0; } return stats.getQuantile(quantile); }
@Override public double getStdDev() { if (stats.getCount() == 0) { return 0.0; } return stats.getStandardDeviation(); }
@Override public int size() { return (int) Math.min(stats.getCount(), Integer.MAX_VALUE); }
@Override public synchronized Snapshot getSnapshot() { return new TDigestSnapshot(stats.copy()); }
@Override public synchronized void update(long value) { stats.add(value); }