From dabe1c157bc5552ef2f10d1d5ccbaf4301ed067d Mon Sep 17 00:00:00 2001 From: Jonathan Klabunde Tomer <125505367+jkt-signal@users.noreply.github.com> Date: Mon, 11 Aug 2025 12:28:28 -0700 Subject: [PATCH] remove unnecessary MessageMetrics default constructor --- .../textsecuregcm/metrics/MessageMetrics.java | 6 +----- .../textsecuregcm/controllers/MessageControllerTest.java | 2 +- .../textsecuregcm/metrics/MetricsUtilTest.java | 2 +- .../websocket/WebSocketConnectionIntegrationTest.java | 4 ++-- .../textsecuregcm/websocket/WebSocketConnectionTest.java | 4 ++-- 5 files changed, 7 insertions(+), 11 deletions(-) diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/metrics/MessageMetrics.java b/service/src/main/java/org/whispersystems/textsecuregcm/metrics/MessageMetrics.java index 01beef123..49b3403e5 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/metrics/MessageMetrics.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/metrics/MessageMetrics.java @@ -45,11 +45,6 @@ public final class MessageMetrics { this(Metrics.globalRegistry, messageTtl); } - @VisibleForTesting - public MessageMetrics() { - this(Metrics.globalRegistry, Duration.ofDays(30)); - } - public void measureAccountOutgoingMessageUuidMismatches(final Account account, final OutgoingMessageEntity outgoingMessage) { measureAccountDestinationUuidMismatches(account, outgoingMessage.destinationUuid()); @@ -90,6 +85,7 @@ public final class MessageMetrics { tags.add(Tag.of("isUrgent", String.valueOf(isUrgent))); tags.add(Tag.of("isEphemeral", String.valueOf(isEphemeral))); + // This tag makes the metric extremely expensive on some platforms // UserAgentTagUtil.getClientVersionTag(userAgent, clientReleaseManager).ifPresent(tags::add); Timer.builder(DELIVERY_LATENCY_TIMER_NAME) diff --git a/service/src/test/java/org/whispersystems/textsecuregcm/controllers/MessageControllerTest.java b/service/src/test/java/org/whispersystems/textsecuregcm/controllers/MessageControllerTest.java index 381cfd2df..c035c01b6 100644 --- a/service/src/test/java/org/whispersystems/textsecuregcm/controllers/MessageControllerTest.java +++ b/service/src/test/java/org/whispersystems/textsecuregcm/controllers/MessageControllerTest.java @@ -195,7 +195,7 @@ class MessageControllerTest { new MessageController(rateLimiters, cardinalityEstimator, messageSender, receiptSender, accountsManager, messagesManager, phoneNumberIdentifiers, pushNotificationManager, pushNotificationScheduler, reportMessageManager, messageDeliveryScheduler, mock(ClientReleaseManager.class), - serverSecretParams, SpamChecker.noop(), new MessageMetrics(), mock(MessageDeliveryLoopMonitor.class), + serverSecretParams, SpamChecker.noop(), new MessageMetrics(Duration.ofDays(30)), mock(MessageDeliveryLoopMonitor.class), clock)) .build(); diff --git a/service/src/test/java/org/whispersystems/textsecuregcm/metrics/MetricsUtilTest.java b/service/src/test/java/org/whispersystems/textsecuregcm/metrics/MetricsUtilTest.java index 19ccb077b..160dbf33d 100644 --- a/service/src/test/java/org/whispersystems/textsecuregcm/metrics/MetricsUtilTest.java +++ b/service/src/test/java/org/whispersystems/textsecuregcm/metrics/MetricsUtilTest.java @@ -99,7 +99,7 @@ class MetricsUtilTest { final OpenTelemetryConfiguration openTelemetryConfig = new OpenTelemetryConfiguration(true, Duration.ZERO, 8, Map.of(), Map.of()); - // Yes, this has to be OtlpMeterRegistry—its histograms behave differently than SimpleMeterRegistry's 😭 + // Yes, this has to be OtlpMeterRegistry—its histograms behave differently than SimpleMeterRegistry's final MeterRegistry registry = new OtlpMeterRegistry(openTelemetryConfig, Clock.SYSTEM); MetricsUtil.configureHistogramFilters(registry.config(), openTelemetryConfig); diff --git a/service/src/test/java/org/whispersystems/textsecuregcm/websocket/WebSocketConnectionIntegrationTest.java b/service/src/test/java/org/whispersystems/textsecuregcm/websocket/WebSocketConnectionIntegrationTest.java index 3fb04ea36..5853b9282 100644 --- a/service/src/test/java/org/whispersystems/textsecuregcm/websocket/WebSocketConnectionIntegrationTest.java +++ b/service/src/test/java/org/whispersystems/textsecuregcm/websocket/WebSocketConnectionIntegrationTest.java @@ -134,7 +134,7 @@ class WebSocketConnectionIntegrationTest { final WebSocketConnection webSocketConnection = new WebSocketConnection( mock(ReceiptSender.class), new MessagesManager(messagesDynamoDb, messagesCache, redisMessageAvailabilityManager, reportMessageManager, sharedExecutorService, Clock.systemUTC()), - new MessageMetrics(), + new MessageMetrics(Duration.ofDays(30)), mock(PushNotificationManager.class), mock(PushNotificationScheduler.class), account, @@ -223,7 +223,7 @@ class WebSocketConnectionIntegrationTest { final WebSocketConnection webSocketConnection = new WebSocketConnection( mock(ReceiptSender.class), new MessagesManager(messagesDynamoDb, messagesCache, redisMessageAvailabilityManager, reportMessageManager, sharedExecutorService, Clock.systemUTC()), - new MessageMetrics(), + new MessageMetrics(Duration.ofDays(30)), mock(PushNotificationManager.class), mock(PushNotificationScheduler.class), account, diff --git a/service/src/test/java/org/whispersystems/textsecuregcm/websocket/WebSocketConnectionTest.java b/service/src/test/java/org/whispersystems/textsecuregcm/websocket/WebSocketConnectionTest.java index 06e9408dc..f9c9d215a 100644 --- a/service/src/test/java/org/whispersystems/textsecuregcm/websocket/WebSocketConnectionTest.java +++ b/service/src/test/java/org/whispersystems/textsecuregcm/websocket/WebSocketConnectionTest.java @@ -119,7 +119,7 @@ class WebSocketConnectionTest { WebSocketAccountAuthenticator webSocketAuthenticator = new WebSocketAccountAuthenticator(accountAuthenticator); AuthenticatedConnectListener connectListener = new AuthenticatedConnectListener(accountsManager, receiptSender, messagesManager, - new MessageMetrics(), mock(PushNotificationManager.class), mock(PushNotificationScheduler.class), + new MessageMetrics(Duration.ofDays(30)), mock(PushNotificationManager.class), mock(PushNotificationScheduler.class), mock(RedisMessageAvailabilityManager.class), mock(DisconnectionRequestManager.class), messageDeliveryScheduler, clientReleaseManager, mock(MessageDeliveryLoopMonitor.class), mock(ExperimentEnrollmentManager.class)); @@ -625,7 +625,7 @@ class WebSocketConnectionTest { private WebSocketConnection webSocketConnection(final WebSocketClient client) { return new WebSocketConnection(receiptSender, messagesManager, - new MessageMetrics(), + new MessageMetrics(Duration.ofDays(30)), mock(PushNotificationManager.class), mock(PushNotificationScheduler.class), account,