From 75c92eaa93d2a971e09f43ab6e2f235a260b9158 Mon Sep 17 00:00:00 2001 From: Jon Chambers Date: Wed, 11 May 2022 10:31:05 -0400 Subject: [PATCH] Drop high-cardinality distribution summaries --- .../controllers/AccountController.java | 5 ----- .../recaptcha/RecaptchaClient.java | 17 ++--------------- 2 files changed, 2 insertions(+), 20 deletions(-) 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 0f912adf7..b245afc5b 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/controllers/AccountController.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/controllers/AccountController.java @@ -17,7 +17,6 @@ import io.micrometer.core.instrument.Tag; import io.micrometer.core.instrument.Tags; import java.security.SecureRandom; import java.time.Duration; -import java.time.Instant; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -26,7 +25,6 @@ import java.util.Map; import java.util.Optional; import java.util.UUID; import java.util.concurrent.CompletableFuture; -import java.util.concurrent.TimeUnit; import javax.annotation.Nullable; import javax.servlet.http.HttpServletRequest; import javax.validation.Valid; @@ -390,9 +388,6 @@ 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 AccountIdentityResponse(account.getUuid(), diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/recaptcha/RecaptchaClient.java b/service/src/main/java/org/whispersystems/textsecuregcm/recaptcha/RecaptchaClient.java index 56e477ee3..3440267a7 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/recaptcha/RecaptchaClient.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/recaptcha/RecaptchaClient.java @@ -14,7 +14,6 @@ import com.google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseServiceSetting import com.google.common.annotations.VisibleForTesting; import com.google.recaptchaenterprise.v1.Assessment; import com.google.recaptchaenterprise.v1.Event; -import io.micrometer.core.instrument.DistributionSummary; import io.micrometer.core.instrument.Metrics; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -33,7 +32,6 @@ public class RecaptchaClient { @VisibleForTesting static final String V2_PREFIX = "signal-recaptcha-v2" + RecaptchaClient.SEPARATOR; private static final String ASSESSMENTS_COUNTER_NAME = name(RecaptchaClient.class, "assessments"); - private static final String SCORE_DISTRIBUTION_NAME = name(RecaptchaClient.class, "scoreDistribution"); private final String projectPath; private final RecaptchaEnterpriseServiceClient client; @@ -104,19 +102,8 @@ public class RecaptchaClient { .increment(); if (assessment.getTokenProperties().getValid()) { - final float score = assessment.getRiskAnalysis().getScore(); - - final DistributionSummary.Builder distributionSummaryBuilder = DistributionSummary.builder( - SCORE_DISTRIBUTION_NAME) - // score is 0.0…1.0, which doesn’t play well with distribution summary bucketing, so scale to 0…100 - .scale(100) - .maximumExpectedValue(100.0d) - .tags("action", String.valueOf(expectedAction)); - - distributionSummaryBuilder.register(Metrics.globalRegistry).record(score); - - return score >= dynamicConfigurationManager.getConfiguration().getCaptchaConfiguration().getScoreFloor() - .floatValue(); + return assessment.getRiskAnalysis().getScore() >= + dynamicConfigurationManager.getConfiguration().getCaptchaConfiguration().getScoreFloor().floatValue(); } else { return false;