From 62315f423c9c4e357c0322f2d58d2da8a7f80521 Mon Sep 17 00:00:00 2001 From: Chris Eager Date: Mon, 19 Apr 2021 18:15:23 -0500 Subject: [PATCH] Record duration of successful verifications --- .../textsecuregcm/controllers/AccountController.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/controllers/AccountController.java b/service/src/main/java/org/whispersystems/textsecuregcm/controllers/AccountController.java index e2e4296d1..e3147bb9c 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/controllers/AccountController.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/controllers/AccountController.java @@ -15,6 +15,7 @@ import io.dropwizard.auth.Auth; import io.micrometer.core.instrument.Metrics; import io.micrometer.core.instrument.Tag; import java.security.SecureRandom; +import java.time.Instant; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -23,6 +24,7 @@ import java.util.Map; import java.util.Optional; import java.util.UUID; import java.util.concurrent.CompletableFuture; +import java.util.concurrent.TimeUnit; import javax.validation.Valid; import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; @@ -399,6 +401,9 @@ public class AccountController { tags.add(Tag.of(VERIFY_EXPERIMENT_TAG_NAME, String.valueOf(storedVerificationCode.get().getTwilioVerificationSid().isPresent()))); Metrics.counter(ACCOUNT_VERIFY_COUNTER_NAME, tags).increment(); + + Metrics.timer(name(AccountController.class, "verifyDuration"), tags) + .record(Instant.now().toEpochMilli() - storedVerificationCode.get().getTimestamp(), TimeUnit.MILLISECONDS); } return new AccountCreationResult(account.getUuid(), existingAccount.map(Account::isStorageSupported).orElse(false));