经过一些研究,我发现有一个弹簧执行器项目,用于监视和记录有关应用程序的信息。这是建议如何将登录到我自己的自定义存储库进行后处理的链接。[http://www.sedooe.com/2017/08/tracing-requests-and-responses-with-spring-boot-actuator/]
但是,不包括输入/输出字节总数。我知道我可以尝试包装HttpServeletRequest
和HttpServeletResponse
(在过滤器中,将它们传递给过滤器链,以便它可以在消耗或写出它们时计算进出吞吐量(,这将返回可以计算字节数的自定义SerlvetInputStream
和ServletOutputStream
。
这似乎是业务应用程序中的常见问题,应该已经有一个解决方案,所以我想知道是否有更简单的方法来实现这一点。
据我了解,Spring-Boot 1.5 执行器实现不提供这样的功能。(假设你说的是Spring-Boot 1.5。
你可以做的是看看千分尺项目。它是Spring-Boot 2.0的新执行器指标"后端"。如果您仍在使用 Spring-Boot 1.5,您可以在应用程序中使用 micrometer-spring-legacy
库。
这里要理解的关键是,对于 Spring-Boot 1.5,这是一个公制后端,位于"旧"执行器旁边。
该项目提供的是嵌入式Jetty
和Tomcat
服务器的检测。尽管只有后者确实提供进出流量指标。
假设Tomcat
,您将获得tomcat_global_received_bytes_total
和tomcat_global_sent_bytes_total
指标,您可以在自己喜欢的监控系统中对其进行推理。