From 8bf5ee45ed5bd2086594928028b5c97ab412d198 Mon Sep 17 00:00:00 2001 From: Jon Chambers Date: Mon, 10 Jul 2023 11:05:55 -0400 Subject: [PATCH] Filter out `command` tags from Lettuce metrics and prepend a "chat." prefix to Lettuce metric names --- .../textsecuregcm/metrics/MetricsUtil.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/metrics/MetricsUtil.java b/service/src/main/java/org/whispersystems/textsecuregcm/metrics/MetricsUtil.java index c74f11bc6..4b2b8b79d 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/metrics/MetricsUtil.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/metrics/MetricsUtil.java @@ -63,6 +63,21 @@ public class MetricsUtil { } }); + // Remove high-cardinality `command` tags from Lettuce metrics and prepend "chat." to meter names + datadogMeterRegistry.config().meterFilter(new MeterFilter() { + @Override + public Meter.Id map(final Meter.Id id) { + if (id.getName().startsWith("lettuce")) { + return id.withName(PREFIX + "." + id.getName()) + .replaceTags(id.getTags().stream() + .filter(tag -> !"command".equals(tag.getKey())) + .toList()); + } + + return MeterFilter.super.map(id); + } + }); + Metrics.addRegistry(datadogMeterRegistry); }