I have spring boot 3.4+ reactive webflux app
we have been using below config to get prometheus metrics (Spring Boot 2.x)
private ExchangeFilterFunction metricsWebClientFilterFunction(String name) {
log.info("Register filter function with name: {}", name);
return new MetricsWebClientFilterFunction(meterRegistry, new DefaultWebClientExchangeTagsProvider(), name, AutoTimer.ENABLED);
}
But due to new spring boot version with observability API this is not working anymore,
We have tried using below config
WebClient.builder()
.observationRegistry(registry)
Also tried various NamingConventionConfig classes, @Observable but it doesn't help.
We need metrics populated like below
Correct
http_client_requests_seconds{error="none",status="200",uri="/endpoint/",quantile="0.9"} 0.0
We're getting unknown uri metrics like below
http_server_requests_active_seconds_bucket{exception="none",method="GET",outcome="SUCCESS",status="200",uri="UNKNOWN",le="274.877906944"} 1