Sunday, August 16, 2009

perf4j vs. simon

1. perf4j的资料和例子要比simon详细一些。
2. perf4j和spring的集成要比simon好一些,simon现在还不能实现代理有参数构造函数的bean,此时simon会出现(Caused by: java.lang.IllegalArgumentException: Superclass has no null constructors but no arguments were given)异常(http://netfork.javaeye.com/blog/286215)。因此目前要想使用必须要么使用JDK自带的自动代 理,要么必须提供默认构造函数,要么修改spring的类。
3. perf4j和simon都提供了Annotation注解支持,但都依赖spring aop的实现,就是会有#2中的问题。
4. perf4j目前支持将日志信息写入日志文件,然后用命令行来查看结果。但是simon目前没有提供默认实现。但是可以通过callback来自己实现。
5. perf4j支持设置统计结果的显示步长,simon不能设置,但是simon提供了clear方法,可以清空当前内存中的统计信息重新开始统计,这一点perf4j默认实现不了,必须自己编程实现。
6. 目前项目中使用的是让perf4j来解析整个日志文件类来产生最后的结果,这样如果日志文件太大,统计分析会比较慢。

No comments: