在Spring micrometer中启用端点的度量



我正在将Java Spring项目从Java 8迁移到Java 11。所以我需要用千分尺取代dropwizard指标。Dropwizard指标记录了到达某个端点时的状态和响应。例如:端点localhost:8080/my_service/v1/api/some/endpoint—>>记录指标metrics.prefix.counter.status.200.v1.api.some.endpointmetrics.prefix.gauge.response.v1.api.some.endpoint

是否有一种方法可以在千分尺中实现相同的功能?我知道有@Counted注释,但由于某种原因它不起作用。(我把它放在端点方法)。

我的属性文件(仅与度量相关的值):

management.metrics.export.statsd.enabled=true
management.metrics.export.statsd.host=****
management.metrics.export.statsd.port=8125
management.metrics.export.statsd.flavor=etsy
management.metrics.export.statsd.prefix=metrics.prefix
management.metrics.export.statsd.polling-frequency=10s
management.metrics.web.server.auto-time-requests=:true

如果你使用Spring创建端点(mvc或webflux),你不需要做任何事情来查看这些指标。

你应该看到http.server.requests有所有的细节(作为标签),你在上面的名字(uri,状态)和更多。

为了使@Counted(和/或@Timed工作),你需要创建一个CountedAspect(和/或TimedAspect)@Bean,但正如我所说,如果你只在控制上使用它,它们是不需要的。

最新更新