Метрики клиента Http в конечной точке Prometheus отсутствуют при создании WebClient вручную.
Ниже код может генерировать ожидаемые метрики клиента http, как показано ниже,
@Autowired
WebClient.Builder webClientBuilder;
@GetMapping("client")
public Mono<String> getClientData() {
return webClientBuilder.baseUrl("http://localhost:8080").build().get().retrieve().bodyToMono(String.class);
}
**Prometheus Metrics**
http_client_requests_seconds_count{clientName="localhost",method="GET",metric1="firstmetric",metric2="secondmetric",outcome="CLIENT_ERROR",status="404",uri="/",} 1.0
http_client_requests_seconds_sum{clientName="localhost",method="GET",metric1="firstmetric",metric2="secondmetric",outcome="CLIENT_ERROR",status="404",uri="/",} 0.2275663
При создании WebClient.Builder вручную, как показано ниже, ожидаемые метрики (показанные выше) отсутствуют в конечной точке Prometheus.
@GetMapping("client")
public Mono<String> getClientData() {
return WebClient.builder().baseUrl("http://localhost:8080").build().get().retrieve().bodyToMono(String.class);
}
Есть ли какое-либо решение для получения метрик без автоматической разводки WebClient или построителя WebClient (Изучено о MetricsWebClientFilterFunction, но в последней версии весенней загрузки это кажется устаревшим)?