为什么 spring-boot-actuator 代码使用过滤器而不是拦截器来捕获指标?

Why spring-boot-actuator code uses filters to capture metrics rather than interceptors?

我在工作中有一个与 spring-boot-actuator 提供的类似的用例。

Spring Boot Actuator 使用 MetricsFilter 捕获传入请求的 metrics/counters。我的问题是为什么选择过滤器而不是拦截器来进行指标聚合。在考虑时,我可以看到可以在拦截器级别完成相同的实现。由于我采用了过滤器方法,我的同事们质疑我为什么不采用拦截器级别。我没有任何优点可以说服他们一个比另一个好。

Actuator 的指标旨在与任何网络框架一起使用。拦截器是 Spring MVC 特定的,而过滤器将处理收到的任何 HTTP 请求。