From 739c5bf22c6ba4a50a444a195ba8261f48c8ff68 Mon Sep 17 00:00:00 2001 From: Jon Chambers Date: Mon, 23 Aug 2021 17:09:10 -0400 Subject: [PATCH] Add a counter to estimate announcement group adoption --- .../textsecuregcm/auth/AccountAuthenticator.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) 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; } }