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));