如何让千分尺prometheus指标适用于Flux?

时间:2017-11-21 12:24:06

标签: spring spring-boot prometheus spring-boot-actuator micrometer

对于Spring Framework 5.0.1.RELEASESpring Boot 2.0.0.M6我们想要使用micrometer application monitoring,因此包括:

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端点,它等待了两秒钟,我们得到了/test/flux端点,它返回了一个主题列表。

Bot请求工作。唯一的区别是,对于/test端点,我得到了prometheus指标,对于/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但尚未支持的请求?

1 个答案:

答案 0 :(得分:2)

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

相关问题