gpt4 book ai didi

java - prometheus 端点中缺少 Spring Boot Webclient 指标

转载 作者:行者123 更新时间:2023-12-02 09:03:48 31 4
gpt4 key购买 nike

手动创建 WebClient 时,Prometheus 端点中的 Http 客户端指标丢失。

下面的代码能够生成预期的 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,但它似乎在最近版本的Spring Boot中已弃用)?

最佳答案

正确使用仪器的首选方法是使用 WebClient.Builder Spring Boot提供的实例。

如果您不希望这样(作为一个单独的问题,也许可以解释为什么选择,也许有一种方法可以解决使您考虑该选择的问题),您实际上应该手动连接 MetricsWebClientFilterFunction在客户端中。

我没有看到该类的任何弃用通知,我错过了什么吗?

关于java - prometheus 端点中缺少 Spring Boot Webclient 指标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59980584/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com