From c8d649e8c27567de189e8166c3df0d9d02d144da Mon Sep 17 00:00:00 2001 From: Chris Eager Date: Tue, 20 Feb 2024 17:15:42 -0600 Subject: [PATCH] Update MetricsHttpChannelListener to share MetricsRequestEventListener namespace --- .../textsecuregcm/WhisperServerService.java | 1 - .../metrics/MetricsApplicationEventListener.java | 6 ++++++ .../textsecuregcm/metrics/MetricsHttpChannelListener.java | 8 +++----- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java b/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java index aeb517396..413f5d549 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java @@ -803,7 +803,6 @@ public class WhisperServerService extends Application(AuthenticatedAccount.class)); environment.jersey().register(new WebsocketRefreshApplicationEventListener(accountsManager, clientPresenceManager)); diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/metrics/MetricsApplicationEventListener.java b/service/src/main/java/org/whispersystems/textsecuregcm/metrics/MetricsApplicationEventListener.java index 62b048277..5c58de79a 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/metrics/MetricsApplicationEventListener.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/metrics/MetricsApplicationEventListener.java @@ -13,12 +13,18 @@ import org.whispersystems.textsecuregcm.storage.ClientReleaseManager; /** * Delegates request events to a listener that captures and reports request-level metrics. + * + * @see MetricsHttpChannelListener + * @see MetricsRequestEventListener */ public class MetricsApplicationEventListener implements ApplicationEventListener { private final MetricsRequestEventListener metricsRequestEventListener; public MetricsApplicationEventListener(final TrafficSource trafficSource, final ClientReleaseManager clientReleaseManager) { + if (trafficSource == TrafficSource.HTTP) { + throw new IllegalArgumentException("Use " + MetricsHttpChannelListener.class.getName() + " for HTTP traffic"); + } this.metricsRequestEventListener = new MetricsRequestEventListener(trafficSource, clientReleaseManager); } diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/metrics/MetricsHttpChannelListener.java b/service/src/main/java/org/whispersystems/textsecuregcm/metrics/MetricsHttpChannelListener.java index ff6c654ac..07458d880 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/metrics/MetricsHttpChannelListener.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/metrics/MetricsHttpChannelListener.java @@ -5,8 +5,6 @@ package org.whispersystems.textsecuregcm.metrics; -import static org.whispersystems.textsecuregcm.metrics.MetricsUtil.name; - import com.google.common.annotations.VisibleForTesting; import com.google.common.net.HttpHeaders; import io.dropwizard.core.setup.Environment; @@ -57,9 +55,9 @@ public class MetricsHttpChannelListener implements HttpChannel.Listener, Contain private final ClientReleaseManager clientReleaseManager; private final Set servletPaths; - public static final String REQUEST_COUNTER_NAME = name(MetricsHttpChannelListener.class, "request"); - public static final String REQUESTS_BY_VERSION_COUNTER_NAME = name(MetricsHttpChannelListener.class, - "requestByVersion"); + // Use the same counter namespace as MetricsRequestEventListener for continuity + public static final String REQUEST_COUNTER_NAME = MetricsRequestEventListener.REQUEST_COUNTER_NAME; + public static final String REQUESTS_BY_VERSION_COUNTER_NAME = MetricsRequestEventListener.REQUESTS_BY_VERSION_COUNTER_NAME; @VisibleForTesting static final String URI_INFO_PROPERTY_NAME = MetricsHttpChannelListener.class.getName() + ".uriInfo";