diff --git a/src/main/java/org/prebid/cache/config/MonitoringConfig.java b/src/main/java/org/prebid/cache/config/MonitoringConfig.java index c2d8049b..ce6f62e2 100644 --- a/src/main/java/org/prebid/cache/config/MonitoringConfig.java +++ b/src/main/java/org/prebid/cache/config/MonitoringConfig.java @@ -30,9 +30,11 @@ public CacheMonitorService storageMonitorService(ReactiveRepository 0 + ? Duration.ofSeconds(new Random().nextInt(0, startJitterSec)) + : Duration.ZERO; return Flux.interval(startDelay, Duration.ofSeconds(intervalSec)) .onBackpressureDrop() .concatMap(counter -> cacheMonitorService.poll()) diff --git a/src/main/java/org/prebid/cache/listeners/AerospikeReadListener.java b/src/main/java/org/prebid/cache/listeners/AerospikeReadListener.java index e62374cd..7f9c6af0 100644 --- a/src/main/java/org/prebid/cache/listeners/AerospikeReadListener.java +++ b/src/main/java/org/prebid/cache/listeners/AerospikeReadListener.java @@ -11,13 +11,14 @@ @Slf4j public class AerospikeReadListener implements RecordListener { + private static final String NAME = "cache"; private final MonoSink sink; - private final String recordKeyId; + private final String keyId; - public AerospikeReadListener(MonoSink sink, String recordKeyId) { + public AerospikeReadListener(MonoSink sink, String keyId) { this.sink = sink; - this.recordKeyId = recordKeyId; + this.keyId = keyId; } @Override @@ -31,7 +32,7 @@ public void onSuccess(Key key, Record record) { @Override public void onFailure(AerospikeException exception) { - log.error("Error when reading record with keyId {}", recordKeyId); + log.error("Error reading record with key id {} due to: {}", keyId, exception.getMessage()); sink.error(exception); } } diff --git a/src/main/java/org/prebid/cache/listeners/AerospikeWriteListener.java b/src/main/java/org/prebid/cache/listeners/AerospikeWriteListener.java index 6c0c06af..02f00483 100644 --- a/src/main/java/org/prebid/cache/listeners/AerospikeWriteListener.java +++ b/src/main/java/org/prebid/cache/listeners/AerospikeWriteListener.java @@ -8,6 +8,7 @@ @Slf4j public class AerospikeWriteListener implements WriteListener { + private final MonoSink sink; private final String keyId; @@ -23,7 +24,7 @@ public void onSuccess(Key key) { @Override public void onFailure(AerospikeException exception) { - log.error("Error when writing record with keyID : {}", keyId); + log.error("Error writing record with key id {} due to: {}", keyId, exception.getMessage()); sink.error(exception); } } diff --git a/src/main/java/org/prebid/cache/metrics/MetricsRecorder.java b/src/main/java/org/prebid/cache/metrics/MetricsRecorder.java index 3c4daa7d..200e243d 100644 --- a/src/main/java/org/prebid/cache/metrics/MetricsRecorder.java +++ b/src/main/java/org/prebid/cache/metrics/MetricsRecorder.java @@ -79,6 +79,6 @@ public MetricsRecorderTimer createRequestTimerForServiceType(final ServiceType s public void recordEntryLifetime(String bucketName, Duration entryLifetime) { meterRegistry.timer(MeasurementTag.ENTRY_LIFETIME.getTag().replaceAll(TTL_BUCKET_PLACEHOLDER, bucketName)) - .record(Duration.ofSeconds(entryLifetime.getSeconds())); + .record(entryLifetime); } } diff --git a/src/main/java/org/prebid/cache/service/CacheMonitorService.java b/src/main/java/org/prebid/cache/service/CacheMonitorService.java index 1d7fd11b..5b962fa9 100644 --- a/src/main/java/org/prebid/cache/service/CacheMonitorService.java +++ b/src/main/java/org/prebid/cache/service/CacheMonitorService.java @@ -63,7 +63,7 @@ private Mono processExpiryBucket(Long ttl, String bucketName, Pa return repository.findById(normalizedId) .switchIfEmpty(Mono.defer(() -> { final Duration entryLifetime = - Duration.ofMillis(Instant.now().toEpochMilli() - payloadWrapper.getTimestamp()); + Duration.between(Instant.ofEpochMilli(payloadWrapper.getTimestamp()), Instant.now()); metricsRecorder.recordEntryLifetime(bucketName, entryLifetime); return saveNewWrapper(ttl); })); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index d7683a5c..a146c156 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -22,7 +22,8 @@ cors: cache: monitoring: enabled: false - intervalSec: 1 + intervalSec: 5 + maxStartDelayJitterSec: 0 prefix: prebid_ expiry_sec: 300 timeout_ms: 300