使用Spring按状态计算HTTP方法调用

时间:2017-11-16 07:23:12

标签: java spring spring-mvc spring-boot-actuator

我在Spring Boot 1.5.2上有一个用Java 8编写的RESTfull应用程序。

我想收集应用程序使用情况的统计信息,我想获得(HTTP方法,端点模式,HTTP状态)的计数器的计数器。

我无法找到满足我需求的方法

实施例

如果我的服务收到7个电话:

200 GET /user 
400 POST /user
200 POST /user
200 GET /user/67
200 GET /user/90
200 GET /user/90/message
500 POST /user/90/message

我希望收集:

GET /user 200 - 1
POST /user 400 - 1
POST /user 200 - 1
GET /user/{userId} 200 - 2
GET /user/{userId}/message 200 - 1
POST /user/{userId}/message 500 - 1

我尝试过的可能方法

  1. 弹簧执行器指标 - 弹簧执行器收集有关方法调用的数据,并按状态对计数器进行分组。

    • 示例:

        

      {          " counter.status.200.user":86,          " counter.status.200.user.userId":32,          " counter.status.200.user.userId.message":69         }

    • 缺点:HTTP方法没有按HTTP方法分组

  2. Spring过滤器 - 找到了this Baeldung示例,它通过tupple收集指标(HTTP方法,端点,HTTP状态)。

    • 缺点:它使用实际端点而不是端点模式,这意味着 GET / user / 1 GET / user / 2 将分别计算

0 个答案:

没有答案