0
0
mirror of https://github.com/signalapp/Signal-Server.git synced 2024-09-20 12:02:18 +02:00

remove most high cardinality lettuce metrics

This commit is contained in:
Ravi Khadiwala 2023-08-09 17:36:51 -05:00 committed by ravi-signal
parent a71dc48b9b
commit f6b3500e92

View File

@ -11,6 +11,7 @@ import io.micrometer.core.instrument.Meter;
import io.micrometer.core.instrument.Metrics;
import io.micrometer.core.instrument.Tags;
import io.micrometer.core.instrument.config.MeterFilter;
import io.micrometer.core.instrument.config.MeterFilterReply;
import io.micrometer.core.instrument.distribution.DistributionStatisticConfig;
import io.micrometer.datadog.DatadogMeterRegistry;
import java.util.concurrent.TimeUnit;
@ -63,20 +64,25 @@ 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());
}
datadogMeterRegistry.config()
// Deny lettuce metrics, but leave command.completions.max
.meterFilter(MeterFilter.deny(id ->
id.getName().startsWith("lettuce") && !id.getName().contains("command.completions.max")
))
// Remove high-cardinality `command` tags from Lettuce metrics and prepend "chat." to meter names
.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);
}
});
return MeterFilter.super.map(id);
}
});
Metrics.addRegistry(datadogMeterRegistry);
}