From 3ea535a412970a997b32cf0bf6fe1549173255d9 Mon Sep 17 00:00:00 2001 From: Jon Chambers Date: Wed, 10 Mar 2021 16:13:29 -0500 Subject: [PATCH] Lower logging level for common failures and record failure metrics. --- .../whispersystems/textsecuregcm/sms/TwilioSmsSender.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/sms/TwilioSmsSender.java b/service/src/main/java/org/whispersystems/textsecuregcm/sms/TwilioSmsSender.java index 52777b2b6..295dabae3 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/sms/TwilioSmsSender.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/sms/TwilioSmsSender.java @@ -12,6 +12,7 @@ import com.codahale.metrics.SharedMetricRegistries; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.annotations.VisibleForTesting; +import io.micrometer.core.instrument.Metrics; import java.io.IOException; import java.net.URI; import java.net.http.HttpClient; @@ -50,6 +51,10 @@ public class TwilioSmsSender { private final Meter voxMeter = metricRegistry.meter(name(getClass(), "vox", "delivered")); private final Meter priceMeter = metricRegistry.meter(name(getClass(), "price")); + private static final String FAILED_REQUEST_COUNTER_NAME = name(TwilioSmsSender.class, "failedRequest"); + private static final String STATUS_CODE_TAG_NAME = "statusCode"; + private static final String ERROR_CODE_TAG_NAME = "errorCode"; + private final String accountId; private final String accountToken; private final String messagingServiceSid; @@ -173,7 +178,8 @@ public class TwilioSmsSender { priceMeter.mark((long) (response.successResponse.price * 1000)); return true; } else if (response != null && response.isFailure()) { - logger.info("Twilio request failed: " + response.failureResponse.status + "(code " + response.failureResponse.code + "), " + response.failureResponse.message); + logger.debug("Twilio request failed: " + response.failureResponse.status + "(code " + response.failureResponse.code + "), " + response.failureResponse.message); + Metrics.counter(FAILED_REQUEST_COUNTER_NAME, STATUS_CODE_TAG_NAME, String.valueOf(response.failureResponse.status), ERROR_CODE_TAG_NAME, String.valueOf(response.failureResponse.code)).increment(); return false; } else if (throwable != null) { logger.info("Twilio request failed", throwable);