diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/auth/AccountAuthenticator.java b/service/src/main/java/org/whispersystems/textsecuregcm/auth/AccountAuthenticator.java index 382c9eff7..15dbbc4f0 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/auth/AccountAuthenticator.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/auth/AccountAuthenticator.java @@ -7,18 +7,32 @@ package org.whispersystems.textsecuregcm.auth; import io.dropwizard.auth.Authenticator; import io.dropwizard.auth.basic.BasicCredentials; import java.util.Optional; +import io.micrometer.core.instrument.Metrics; import org.whispersystems.textsecuregcm.storage.AccountsManager; +import static com.codahale.metrics.MetricRegistry.name; + public class AccountAuthenticator extends BaseAccountAuthenticator implements Authenticator { + private static final String AUTHENTICATION_COUNTER_NAME = name(AccountAuthenticator.class, "authenticate"); + public AccountAuthenticator(AccountsManager accountsManager) { super(accountsManager); } @Override public Optional authenticate(BasicCredentials basicCredentials) { - return super.authenticate(basicCredentials, true); + final Optional maybeAuthenticatedAccount = super.authenticate(basicCredentials, true); + + // TODO Remove after announcement groups have launched + maybeAuthenticatedAccount.ifPresent(authenticatedAccount -> + Metrics.counter(AUTHENTICATION_COUNTER_NAME, + "supportsAnnouncementGroups", + String.valueOf(authenticatedAccount.getAccount().isAnnouncementGroupSupported())) + .increment()); + + return maybeAuthenticatedAccount; } }