java - 如何衡量Action Class的性能?

标签 java struts-1

如何衡量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/

相关文章:

java - 获取 "java: incompatible types: java.lang.Object cannot be converted to org.testng.ISuiteResult"

java - 具有投影的 Hibernate 条件不执行 @OneToMany 映射查询

java - Amazon Cognito 使用用户名和密码登录用户

java - 使用 <html :text instead of &lt;input type ="text" in struts? 的目的是什么

struts 1.2 - 将值从一个 Action 传递到另一个 Action

java - 子选择提取导致看似不相关的代码行之间发生意外交互

java - 如何获取从现在到 future 时间的月数、周数、天数和小时数?

java - 使用 struts token 防止跨站点请求伪造

validation - Struts 1 文本框到整数验证

java - 如何通过编程设置下一个要执行的Action的FormBean?