Spring Boot执行器-实施自定义指标

时间:2018-12-05 13:16:10

标签: spring-boot spring-boot-actuator

我想使用执行器对Spring Boot Rest Web服务实施自定义指标或统计信息,但是我找不到简单的教程。 例如:

  • 如何显示某个控制器被调用了多少次以及填写了确切的参数字段?
  • 我如何创建一个指标,当其URL被调用时,它会运行某些查询并显示带有某些结果的json

2 个答案:

答案 0 :(得分:0)

对于AOP (面向方面​​的编程),这似乎是个好方案,因为这将使您可以将这种统计逻辑与业务逻辑分开。

有关AOP以及如何使用Spring实现AOP的更多信息,请参阅Spring文档。

然后,您可以在控制器上定义切入点,并具有用于计数(并可能随后存储)数据的服务。

请参考以下链接 AOP Example

答案 1 :(得分:0)

对于第二点,解决方案是创建一个端点类(它可以是rest控制器类,也可以不是rest控制器类)。例如:

@Component
@RestControllerEndpoint(id = "pfm-statistics")
public class StatisticsEndpoint {
  @GetMapping(value = "/", produces = "application/vnd.openxmlformats- 
     officedocument.spreadsheetml.sheet")
  @ResponseBody
  public byte[] generateStatisticsAsExcel() {
 ...

请注意,ID是要从URL调用的路径。我们也可以创建一个简单的端点,如果需要的话,只返回一个字符串。在这种情况下,我们可以使用@Endpoint代替@RestControllerEndpoint注释,作为一个补充说明,该ID应始终包含破折号