diff --git a/simpleclient/src/main/java/io/prometheus/client/CKMSQuantiles.java b/simpleclient/src/main/java/io/prometheus/client/CKMSQuantiles.java index 875d3918b..1ffb65382 100644 --- a/simpleclient/src/main/java/io/prometheus/client/CKMSQuantiles.java +++ b/simpleclient/src/main/java/io/prometheus/client/CKMSQuantiles.java @@ -87,7 +87,7 @@ public CKMSQuantiles(Quantile[] quantiles) { * * @param value */ - public synchronized void insert(double value) { + public void insert(double value) { buffer[bufferCount] = value; bufferCount++; @@ -104,7 +104,7 @@ public synchronized void insert(double value) { * Queried quantile, e.g. 0.50 or 0.99. * @return Estimated value at that quantile. */ - public synchronized double get(double q) { + public double get(double q) { // clear the buffer insertBatch(); compress(); diff --git a/simpleclient/src/main/java/io/prometheus/client/TimeWindowQuantiles.java b/simpleclient/src/main/java/io/prometheus/client/TimeWindowQuantiles.java index 97be4d4df..cc60bc39b 100644 --- a/simpleclient/src/main/java/io/prometheus/client/TimeWindowQuantiles.java +++ b/simpleclient/src/main/java/io/prometheus/client/TimeWindowQuantiles.java @@ -27,19 +27,19 @@ public TimeWindowQuantiles(Quantile[] quantiles, long maxAgeSeconds, int ageBuck this.durationBetweenRotatesMillis = TimeUnit.SECONDS.toMillis(maxAgeSeconds) / ageBuckets; } - public double get(double q) { + public synchronized double get(double q) { CKMSQuantiles currentBucket = rotate(); return currentBucket.get(q); } - public void insert(double value) { + public synchronized void insert(double value) { rotate(); for (CKMSQuantiles ckmsQuantiles : ringBuffer) { ckmsQuantiles.insert(value); } } - private synchronized CKMSQuantiles rotate() { + private CKMSQuantiles rotate() { long timeSinceLastRotateMillis = System.currentTimeMillis() - lastRotateTimestampMillis; while (timeSinceLastRotateMillis > durationBetweenRotatesMillis) { ringBuffer[currentBucket] = new CKMSQuantiles(quantiles);