如何衡量struts 1.2应用程序所有action类的性能?
我正在寻找一种方法来收集有关每个操作花费多长时间的性能统计数据。您知道是否可以做到这一点吗?一段代码将不胜感激?
最佳答案
简单且纯 Java EE 选项:您可以在 struts servlet (struts 1) 前面设置一个 Filter
,该过滤器仅将控制权交给它,但会秒表其执行时间。关于过滤器的一些文档:
http://www.oracle.com/technetwork/java/filters-137243.html
面向方面的解决方案:
如果您的应用程序封装了 Spring 框架,您可以通过设置某些方面来测量每个服务/dao/等的执行时间,以更细粒度的方式执行相同的操作。
Spring 中的检测类: http://docs.spring.io/spring/docs/current/spring-framework-reference/html/overview.html
而且,如果您想直接在 Action 类上设置一个方面,您可以在 JVM 启动中设置一个代理类(如果您的操作人员允许的话)并检测它们。以下是 DIY 仪表化性能报告器的示例:
http://chimpler.wordpress.com/2013/11/05/implementing-a-java-agent-to-instrument-code/
请注意,JVM 的 -javaagent
开关必须位于应用程序服务器的启动中 - 您可能必须向操作人员提供合理的参数,就像往常一样您建议对生产环境配置进行一些更改
关于java - 如何衡量Action Class的性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22305959/