如何获得适用于 Flux 的千分尺普罗米修斯指标?

How to get micrometer prometheus metrics working for Flux?

对于Spring Framework 5.0.1.RELEASESpring 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

我是否必须配置其他内容才能使返回 FluxFlux 尚不受支持的请求起作用?

Boot 2 RC2 中包含 WebFlux 端点的自动配置!