如何获得适用于 Flux 的千分尺普罗米修斯指标?
How to get micrometer prometheus metrics working for Flux?
对于Spring Framework 5.0.1.RELEASE
和Spring Boot 2.0.0.M6
我们要使用micrometer application monitoring,所以wie包括:
compile('org.springframework.boot:spring-boot-starter-actuator')
compile('io.micrometer:micrometer-registry-prometheus')
进入我们的依赖集并创建一个具有以下剩余端点的控制器:
@RestController
@Timed
public class MyController {
@Autowired
private MyService service;
@RequestMapping(value = "/test", method = RequestMethod.GET)
public void test() {
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
@RequestMapping(value = "/test/flux", method = RequestMethod.GET, produces = "application/stream+json")
public Flux<MyItem> getMyItems(@RequestParam Map<String, String> params) {
return this.service.getMyItems(params);
}
}
所以我们得到了只等待两秒钟的 /test
端点,我们得到了返回 itmes 列表的 /test/flux
端点。
机器人请求工作。唯一的区别是,对于 /test
端点,我得到了普罗米修斯指标,而对于 /test/flux
端点,我没有得到任何指标:
http_server_requests_duration_seconds_count{exception="None",method="GET",status="200",uri="/get/test",} 1.0
http_server_requests_duration_seconds_sum{exception="None",method="GET",status="200",uri="/get/test",} 2.002811046
http_server_requests_duration_seconds_max{exception="None",method="GET",status="200",uri="/get/test",} 0.0
我是否必须配置其他内容才能使返回 Flux
或 Flux
尚不受支持的请求起作用?
Boot 2 RC2 中包含 WebFlux 端点的自动配置!
对于Spring Framework 5.0.1.RELEASE
和Spring Boot 2.0.0.M6
我们要使用micrometer application monitoring,所以wie包括:
compile('org.springframework.boot:spring-boot-starter-actuator')
compile('io.micrometer:micrometer-registry-prometheus')
进入我们的依赖集并创建一个具有以下剩余端点的控制器:
@RestController
@Timed
public class MyController {
@Autowired
private MyService service;
@RequestMapping(value = "/test", method = RequestMethod.GET)
public void test() {
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
@RequestMapping(value = "/test/flux", method = RequestMethod.GET, produces = "application/stream+json")
public Flux<MyItem> getMyItems(@RequestParam Map<String, String> params) {
return this.service.getMyItems(params);
}
}
所以我们得到了只等待两秒钟的 /test
端点,我们得到了返回 itmes 列表的 /test/flux
端点。
机器人请求工作。唯一的区别是,对于 /test
端点,我得到了普罗米修斯指标,而对于 /test/flux
端点,我没有得到任何指标:
http_server_requests_duration_seconds_count{exception="None",method="GET",status="200",uri="/get/test",} 1.0
http_server_requests_duration_seconds_sum{exception="None",method="GET",status="200",uri="/get/test",} 2.002811046
http_server_requests_duration_seconds_max{exception="None",method="GET",status="200",uri="/get/test",} 0.0
我是否必须配置其他内容才能使返回 Flux
或 Flux
尚不受支持的请求起作用?
Boot 2 RC2 中包含 WebFlux 端点的自动配置!