From 041643783d1ad273b408f88c7fa34b9e294584a2 Mon Sep 17 00:00:00 2001 From: Chris Eager Date: Thu, 3 Apr 2025 09:41:15 -0500 Subject: [PATCH] Add libsignal tag to MetricsHttpChannelListener --- .../textsecuregcm/metrics/MetricsHttpChannelListener.java | 6 ++---- .../metrics/MetricsHttpChannelListenerIntegrationTest.java | 6 ++++-- .../metrics/MetricsHttpChannelListenerTest.java | 3 ++- 3 files changed, 8 insertions(+), 7 deletions(-) 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 9413ef41c..081c6b6b3 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/metrics/MetricsHttpChannelListener.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/metrics/MetricsHttpChannelListener.java @@ -137,15 +137,13 @@ public class MetricsHttpChannelListener implements HttpChannel.Listener, Contain tags.add(Tag.of(METHOD_TAG, requestInfo.method())); tags.add(Tag.of(STATUS_CODE_TAG, String.valueOf(requestInfo.statusCode()))); tags.add(Tag.of(TRAFFIC_SOURCE_TAG, TrafficSource.HTTP.name().toLowerCase())); - - final Tag platformTag = UserAgentTagUtil.getPlatformTag(requestInfo.userAgent()); - tags.add(platformTag); + tags.addAll(UserAgentTagUtil.getLibsignalAndPlatformTags(requestInfo.userAgent())); meterRegistry.counter(REQUEST_COUNTER_NAME, tags).increment(); UserAgentTagUtil.getClientVersionTag(requestInfo.userAgent(), clientReleaseManager).ifPresent( clientVersionTag -> meterRegistry.counter(REQUESTS_BY_VERSION_COUNTER_NAME, - Tags.of(clientVersionTag, platformTag)).increment()); + Tags.of(clientVersionTag, UserAgentTagUtil.getPlatformTag(requestInfo.userAgent()))).increment()); } @Override diff --git a/service/src/test/java/org/whispersystems/textsecuregcm/metrics/MetricsHttpChannelListenerIntegrationTest.java b/service/src/test/java/org/whispersystems/textsecuregcm/metrics/MetricsHttpChannelListenerIntegrationTest.java index d261144db..9089cbba5 100644 --- a/service/src/test/java/org/whispersystems/textsecuregcm/metrics/MetricsHttpChannelListenerIntegrationTest.java +++ b/service/src/test/java/org/whispersystems/textsecuregcm/metrics/MetricsHttpChannelListenerIntegrationTest.java @@ -150,13 +150,14 @@ class MetricsHttpChannelListenerIntegrationTest { tags.add(tag); } - assertEquals(5, tags.size()); + assertEquals(6, tags.size()); assertTrue(tags.contains(Tag.of(MetricsHttpChannelListener.PATH_TAG, expectedTagPath))); assertTrue(tags.contains(Tag.of(MetricsHttpChannelListener.METHOD_TAG, "GET"))); assertTrue(tags.contains(Tag.of(MetricsHttpChannelListener.STATUS_CODE_TAG, String.valueOf(expectedStatus)))); assertTrue( tags.contains(Tag.of(MetricsHttpChannelListener.TRAFFIC_SOURCE_TAG, TRAFFIC_SOURCE.name().toLowerCase()))); assertTrue(tags.contains(Tag.of(UserAgentTagUtil.PLATFORM_TAG, "android"))); + assertTrue(tags.contains(Tag.of(UserAgentTagUtil.LIBSIGNAL_TAG, "false"))); } @@ -211,13 +212,14 @@ class MetricsHttpChannelListenerIntegrationTest { tags.add(tag); } - assertEquals(5, tags.size()); + assertEquals(6, tags.size()); assertTrue(tags.contains(Tag.of(MetricsHttpChannelListener.PATH_TAG, "/v1/websocket"))); assertTrue(tags.contains(Tag.of(MetricsHttpChannelListener.METHOD_TAG, "GET"))); assertTrue(tags.contains(Tag.of(MetricsHttpChannelListener.STATUS_CODE_TAG, String.valueOf(101)))); assertTrue( tags.contains(Tag.of(MetricsHttpChannelListener.TRAFFIC_SOURCE_TAG, TRAFFIC_SOURCE.name().toLowerCase()))); assertTrue(tags.contains(Tag.of(UserAgentTagUtil.PLATFORM_TAG, "android"))); + assertTrue(tags.contains(Tag.of(UserAgentTagUtil.LIBSIGNAL_TAG, "false"))); } } diff --git a/service/src/test/java/org/whispersystems/textsecuregcm/metrics/MetricsHttpChannelListenerTest.java b/service/src/test/java/org/whispersystems/textsecuregcm/metrics/MetricsHttpChannelListenerTest.java index 5fbdf2f91..974497ad0 100644 --- a/service/src/test/java/org/whispersystems/textsecuregcm/metrics/MetricsHttpChannelListenerTest.java +++ b/service/src/test/java/org/whispersystems/textsecuregcm/metrics/MetricsHttpChannelListenerTest.java @@ -94,13 +94,14 @@ class MetricsHttpChannelListenerTest { tags.add(tag); } - assertEquals(5, tags.size()); + assertEquals(6, tags.size()); assertTrue(tags.contains(Tag.of(MetricsHttpChannelListener.PATH_TAG, path))); assertTrue(tags.contains(Tag.of(MetricsHttpChannelListener.METHOD_TAG, method))); assertTrue(tags.contains(Tag.of(MetricsHttpChannelListener.STATUS_CODE_TAG, String.valueOf(statusCode)))); assertTrue( tags.contains(Tag.of(MetricsHttpChannelListener.TRAFFIC_SOURCE_TAG, TrafficSource.HTTP.name().toLowerCase()))); assertTrue(tags.contains(Tag.of(UserAgentTagUtil.PLATFORM_TAG, "android"))); + assertTrue(tags.contains(Tag.of(UserAgentTagUtil.LIBSIGNAL_TAG, "false"))); } @ParameterizedTest