我们使用Spring Boot 2.1.4和Micrometer-Registry-Prometheus
依赖项来捕获度量。
我们有一个Spring Boot服务使用RestTemplate调用另一个服务的例子。这个调用生成的度量包含URI中的实际值,而不是模板值。
例如,在/Actuator/Prometheus
endpoint中,我看到如下条目:
http_client_requests_seconds_count{clientname=“someclient”,method=“get”,status=“200”,uri=“/person/lookup?firstname=tony&lastname=soprano”,}1.0
根据文档,我希望看到变量名而不是值,如下所示:
http_client_requests_seconds_count{clientname=“someclient”,method=“get”,status=“200”,uri=“/person/lookup?firstName={firstName}&lastName={lastName}”,}1.0
是否有一种方法可以获取默认的http.client.requests
度量值来使用URI标记的模板值?
https://docs.Spring.io/spring-boot/docs/current/reference/html/producture-ready-features.html#producture-ready-metrics-http-clients中的Spring文档对uri标记做了如下说明:
如果可能,在变量替换之前请求的URI模板(例如/api/person/{id})
我们如何使变量替换成为可能?
我假设您正在使用RestTemplateBuilder
构建RestTemplate
,否则将无法注册度量。
您实际上是在将模板化的url传递到resttemplate
的exchange方法中,并传递用于subsbitution的params吗?适用于2.1.4.release
和2.2.1.release
。
template.getForObject("http://localhost:" + this.serverPort + "/hello/{id}",
String.class, Collections.singletonMap("id", "loop"));
结果:
http_client_requests_seconds_count{application="micrometered2",clientName="localhost",method="GET",outcome="SUCCESS",status="200",uri="/hello/{id}",} 23.0
我试图使用下面的代码模拟方法,但我得到了异常,而且我是单元测试的新手
我正在使用Spring-Boot和Spring Security,并使用第三方的OAuth2登录名。 SSO提供程序有一个accesstokenendpoint,它返回以下JSON 引用来自accesstokenendpoint的JSON中的值。我如何访问这些值给定我的设置?
我尝试了很多方法来模拟restTemboard交换,但模拟没有发生,实际的交换不断调用并给我url无效异常。 我的CallRestService方法如下 我的模拟如下: 我还尝试返回已注释的响应实体。但每次都会有例外。 我对mocking的理解是,不会调用实际的exchange方法,那么我如何获得resttemplate exchange异常。 如果需要任何输入,请评论。 谢谢你的支持。 更新:我
问题内容: 我们有一个Spring项目即将投入生产。目前,该项目正在使用A。有一种使用 的想法。 我正在四处寻找使用的任何显着优势。另外,知道哪种HTTP传输在其实现中执行RestTemplate也会很有趣。Apache Http Client已被多个小组使用多年,并享有良好的声誉。 问题答案: RestTemplate和HttpClient不在同一抽象级别上运行。 HttpClient是使用HT
callbackFacebook函数如何从uri获取代码的值? uri=http://localhost:8081/callback?code=AQDNm6hezKdTsId5k4oXKNo
我在我的Spring Boot应用程序中包括Spring Cloud Sleuth Zipkin 2.2.7,并使用注入的RestTemplates,以便对它们的调用进行检测并发送到Zipkin。 我的zipkin跨度由RestTem板调用产生,包含和的标记,但没有其他HTTP信息。 有没有办法在标记中显示查询参数?有时,它们中有一些非常有用的有趣信息,可以在标记中显示出来(例如,)。