|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
对于一个大型项目,如果用java来作,可能需要9个月,并且可能需要翻阅10本以上的书,但如果用ruby来作,3个月,3本书就足够了,而.net网页编程也不过3,4本书足以,这就是区别。假如想剖析Java使用,有良多工具可供选择——但你想太过析使用能够像增加日记那末复杂么?这就是Perf4j项目标方针地点:好像log4j相似于System.out.println()一样,Perf4J相似于System.currentTimeMillis()。 Perf4J供应的良多特征都使人线人一新:
- 用于计时的复杂的中断观察(stopwatch)机制。
- 用于剖析日记文件的命令行工具,能够天生聚合统计和功能图表
- 轻松集成年夜多半罕见的日记框架和门面:log4j、java.util.logging、ApacheCommonsLogging及SLF4J。
- 客户化的log4jappenders,能够在使用运转时天生统计和图表(不久还会供应客户化的java.util.logging处置器)。
- 能够将功能统计表露为JMX属性,当统计超越指定极限时发送关照。
- 用于展示Web使用功能图表的Servlet。
- 供应了@Profiled注解和一套客户化的方面(aspect),在处置AOP框架如AspectJ或SpringAOP时能够天真拔出计时语句。
- 可扩大的架构
InfoQ有幸采访了Perf4j项目标向导者AlexDevine,他谈到了开辟Perf4j的启事:在熟悉到功能跟踪和办理成绩会严峻影响到公司的每一个项目(现实上会影响到几近一切的基于服务器的、散布式使用)后,我们决意构建并开辟一个尺度的功能库,最初就出生了Perf4J。 “Perf4j能办理哪些特别的功能成绩呢”?Perf4J十分合适于散布式、面向服务的使用的功能成绩跟踪。比方,用户点击Homeaway上的某个搜刮页面后就会收回对Web服务器的一个挪用,该Web服务器又会挪用数据库,同时还会经由过程HTTP挪用搜刮服务和告白服务器。搜刮服务自己会将各个搜刮结点天生的了局聚合起来。假如在产物情况下功能呈现了成绩,我们能够经由过程Perf4j轻松疾速的查明出成绩的组件。 这招致了另外一个成绩“Perf4j能够用在产物情况中么?”Perf4J明白定位于产物情况中。现实上,良多时分在每一个阶段上统统都很好,但放到了产物情况下就会呈现各类成绩,在呈现年夜的功能成绩前就延迟做好筹办关于成绩的跟踪是年夜有裨益的。 关于功能开支,Alex说到:其开支与日记相似,就像在代码前后利用System.currentTimeMillis()并纪录日记一样,你能够在经由过程入手下手和中断StopWatch来完成这统统。如许相似于日记,其消费终极取决于附加的appenders。AsyncCoalescingStatisticsAppender仅是将日记动静压进到行列中并由独自线程中downstreadappenders的掏出,如许当这些appenders完成处置后不会影响到主线程的实行工夫。别的,假如经由过程加载工夫(load-time)来利用@Profiled注解,你能够界说运转中所剖析的办法,在这类情形下,那些不做剖析的办法就无需任何分外的设置。 关于将来Alex说到:我们想对那些没有StopWatch或@Profiled注解的办法也举行运转时剖析。也就是说开辟者能够在aop.xml或Spring设置文件中指定要剖析的办法。如许就能够剖析第三方库(他们其实不晓得Perf4J),并且无需在源代码中利用剖析语句了。 能够从http://perf4j.org下载Perf4j。
检察英文原文:ProfilingJustGotEasierWithPerf4j
本文出自:http://www.infoq.com/cn/news/2009/02/perf4j
通过视频学习比传统的大课堂学习更适合成人化的学习规律。有人说大课堂气氛好,学习氛围浓,热闹,可以认识很多人。 |
|