@@ -82,6 +82,7 @@ public class MessagesCache extends RedisClusterPubSubAdapter<String, String> imp
82
82
private final Timer insertTimer = Metrics .timer (name (MessagesCache .class , "insert" ));
83
83
private final Timer getMessagesTimer = Metrics .timer (name (MessagesCache .class , "get" ));
84
84
private final Timer getQueuesToPersistTimer = Metrics .timer (name (MessagesCache .class , "getQueuesToPersist" ));
85
+ private final Timer removeByGuidTimer = Metrics .timer (name (MessagesCache .class , "removeByGuid" ));
85
86
private final Timer clearQueueTimer = Metrics .timer (name (MessagesCache .class , "clear" ));
86
87
private final Counter pubSubMessageCounter = Metrics .counter (name (MessagesCache .class , "pubSubMessage" ));
87
88
private final Counter newMessageNotificationCounter = Metrics .counter (
@@ -185,6 +186,8 @@ public CompletableFuture<List<MessageProtos.Envelope>> remove(final UUID destina
185
186
final byte destinationDevice ,
186
187
final List <UUID > messageGuids ) {
187
188
189
+ final Timer .Sample sample = Timer .start ();
190
+
188
191
return removeByGuidScript .executeBinaryAsync (List .of (getMessageQueueKey (destinationUuid , destinationDevice ),
189
192
getMessageQueueMetadataKey (destinationUuid , destinationDevice ),
190
193
getQueueIndexKey (destinationUuid , destinationDevice )),
@@ -204,7 +207,8 @@ public CompletableFuture<List<MessageProtos.Envelope>> remove(final UUID destina
204
207
}
205
208
206
209
return removedMessages ;
207
- }, messageDeletionExecutorService );
210
+ }, messageDeletionExecutorService )
211
+ .whenComplete ((ignored , throwable ) -> sample .stop (removeByGuidTimer ));
208
212
}
209
213
210
214
public boolean hasMessages (final UUID destinationUuid , final byte destinationDevice ) {
0 commit comments