使用cxf-spring-boot-starter-jaxrs在spring启动应用程序中的度量标准http_server_requests_seconds_count包含uri为“UNKNOWN”

问题描述 投票:0回答:1

在Spring Boot应用程序中使用版本2.0.8进行度量标准http_server_requests_seconds_count。使用弹簧执行器公开包含uri为“UNKNOWN”。 Spring Boot应用程序使用cxf-spring-boot-starter-jaxrs来暴露其他端点。我在我的项目中添加了微米注册表 - prometheus依赖项。

http_server_requests_seconds_count{exception="None",method="POST",status="200",uri="UNKNOWN",} 2.0

我尝试在我的项目中添加micrometer-jersey2依赖项。

实际

http_server_requests_seconds_count{exception="None",method="POST",status="200",uri="UNKNOWN",} 2.0

预期:

http_server_requests_seconds_count{exception="None",method="GET",status="200",uri="/sayHello",} 2.0

spring spring-boot metrics spring-boot-actuator spring-micrometer
1个回答
1
投票

在OP评论中澄清之后(CXF是另一个JAX-RS实现):Micrometer目前不支持处理CXF请求。它(Spring WebMvc)无法提取可选参数化的请求URL,并且在这种情况下会回退到UNKNOWN。 (否则,如果您的CXF端点提供一些可获得大量流量的高度可参数化的URL,则可能会导致指标爆炸。)

所以你可以看看micrometer-jersey2实现并派生出一个micrometer-cxf实现;)(或者如果不是这样的情况(使用搜索) - 打开Micrometer或CXF项目的问题。我提到后者,因为他们可能请注意照顾这种实施。)

© www.soinside.com 2019 - 2024. All rights reserved.