remove most high cardinality lettuce metrics
This commit is contained in:
parent
a71dc48b9b
commit
f6b3500e92
|
@ -11,6 +11,7 @@ import io.micrometer.core.instrument.Meter;
|
||||||
import io.micrometer.core.instrument.Metrics;
|
import io.micrometer.core.instrument.Metrics;
|
||||||
import io.micrometer.core.instrument.Tags;
|
import io.micrometer.core.instrument.Tags;
|
||||||
import io.micrometer.core.instrument.config.MeterFilter;
|
import io.micrometer.core.instrument.config.MeterFilter;
|
||||||
|
import io.micrometer.core.instrument.config.MeterFilterReply;
|
||||||
import io.micrometer.core.instrument.distribution.DistributionStatisticConfig;
|
import io.micrometer.core.instrument.distribution.DistributionStatisticConfig;
|
||||||
import io.micrometer.datadog.DatadogMeterRegistry;
|
import io.micrometer.datadog.DatadogMeterRegistry;
|
||||||
import java.util.concurrent.TimeUnit;
|
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()
|
||||||
datadogMeterRegistry.config().meterFilter(new MeterFilter() {
|
// Deny lettuce metrics, but leave command.completions.max
|
||||||
@Override
|
.meterFilter(MeterFilter.deny(id ->
|
||||||
public Meter.Id map(final Meter.Id id) {
|
id.getName().startsWith("lettuce") && !id.getName().contains("command.completions.max")
|
||||||
if (id.getName().startsWith("lettuce")) {
|
))
|
||||||
return id.withName(PREFIX + "." + id.getName())
|
// Remove high-cardinality `command` tags from Lettuce metrics and prepend "chat." to meter names
|
||||||
.replaceTags(id.getTags().stream()
|
.meterFilter(new MeterFilter() {
|
||||||
.filter(tag -> !"command".equals(tag.getKey()))
|
@Override
|
||||||
.toList());
|
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);
|
Metrics.addRegistry(datadogMeterRegistry);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue