使用Perf4J进行性能分析和监控 - 编程入门网
ween 0 and 800ms, and the secondBlock max
value should be less than 1500 ms. You can also set thresholds on the Min,
Mean, StdDev, Count and TPS statistics - e.g. firstBlockMean(<600).
-->
<param name="NotificationThresholds" value="firstBlockMax(0-800),secondBlockMax (<1500)"/>
</appender>
<!-- Loggers -- >
<!-- The Perf4J logger. -->
<logger name="org.perf4j.TimingLogger" additivity="false">
<level value="INFO"/>
<appender-ref ref="CoalescingStatistics"/>
</logger>
<!--
The root logger sends all log statements EXCEPT those sent to the perf4j
logger to System.out.
-->
<root>
<level value="INFO"/>
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.SimpleLayout"/>
</appender>
</root>
</log4j:configuration>
使用Perf4J进行性能分析和监控(4)时间:2011-10-16 infoq Alex Devine 译:崔康除了JMX插件,Perf4J也支持生成性能图表的画图appender,使用前端的Perf4J画图Servlet。定制的 csv布局可以轻松的导入Excel或者其他电子表格应用。 使用@Profiled注解简化性能日志 在代码中增加性能记录语句(通常的日志语句)的一个缺点是降低了代码的“信噪比”,难以在特定 代码块中遵循严格的业务逻辑。为了改善这一不足,Perf4J提供了@Profiled注解,可以添加在需要记录 执行时间的方法上,允许方法本身不添加StopWatch代码:
一旦添加了@Profiled注解,Perf4J的计时切面会通过一个面向切面的编程框架如AspectJ或者Spring AOP启用。这个切面在方法调用周围加入建立和停止StopWatch实例的字节码。计时切面甚至可以有选择的 使用AspectJ的加载时编织(load-time weaving)功能。因此,通过使用加载时编织你可以保证那些没有 启用性能监控的方法绝没有额外的负担。 一个简单的示例:基于Web的质数生成器 本示例将带你感受如何创建一个使用Perf4J库大多数功能的真实应用。你可以下载perf4jPrimes.war 文件,然后Servlet容器中运行它。在war包中也包含该应用的源代码。 一切从简,本例子只包含两个主要的代码文件:primes.jsp用于显示生成的质数和接受用户指定的参 数,PrimeNumberGenerator类包含真正的生成代码(大部分委托给java.math.BigInteger类)。其中有三 处使用了Perf4J计时代码块: 在primes.jsp创建Log4JStopWatch统计整个页面的生成时间。 PrimeNumberGenerator.generatePrime()方法具有一个Profiled注解。 PrimeNumberGenerator.randomFromRandomDotOrg()也含有Profiled注解。 如果查看WEB-INF/classes/log4j.xml文件,你会看到启用了下面的Perf4功能: 所有单独的stop watch日志都被写入标准输出(请注意你的servlet容器可能把标准输出定向到磁盘的 某个文件中)。如果需要的话,你可以直接使用LogParser。 AsyncCoalescingStatisticsAppender被创建以汇总stop w |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |