JETM--Java?的执行时间测量库简单学习
一、下载
??????? 用途:测试Java?应用程序潜在的性能问题
学习目的:帮助记录某程序运行过程中各个具体方法调用的次数及时间(最大值,最小值,平均值,总值),帮助大家找到程序执
??????????????????? 行过程中的瓶颈
下载地址:http://jetm.void.fm/files.html,也可以直接使用本人提供的附件
下载版本: jetm-1.2.3.zip 或 下载 jetm-samples-1.2.3.zip(其中有两个例子可用于学习)
??????? 引入:解压,将jar包添加并引入项目中
示例代码:
public class JETMTest {
?? private static EtmMonitor monitor;?
??
???? private static void setup() {?
???????? BasicEtmConfigurator.configure();?
???????? monitor = EtmManager.getEtmMonitor();?
???????? monitor.start();?
???? }?
??
???? private static void tearDown() {?
???????? monitor.stop();?
???? }?
??
???? public static void main(String[] args) {?
???????? setup();?
???????? EtmPoint point = monitor.createPoint("主函数运行时间");?
???????? AddNumber add = new AddNumber();?
???????? add.addHun();?
???????? add.lessJ(10);?
???????? point.collect();?
???????? monitor.render(new SimpleTextRenderer());?
???????? tearDown();?
???? }?
??
?}?
??
?class AddNumber {?
???? private static final EtmMonitor etmMonitor = EtmManager.getEtmMonitor();?
???? void addHun() {?
???????? // 数字序号_阶段名称_功能??
???????? EtmPoint point = etmMonitor.createPoint("AddNumber运行时间");?
???????? try {?
???????????? int j = 0;?
???????????? for (int i = 0; i < 100; i++) {?
???????????????? lessJ(j);?
???????????? }?
???????? } catch (Exception e) {?
???????????? e.printStackTrace();?
???????? } finally {?
???????????? point.collect();?
???????? }?
???? }?
??
???? void lessJ(int j) {?
???????? EtmPoint point = etmMonitor.createPoint("lessJ运行时间");?
???????? try {?
???????????? int i = j;?
???????????? for (; i > 0;) {?
???????????????? i--;?
???????????? }?
???????? } catch (Exception e) {?
???????????? e.printStackTrace();?
???????? } finally {?
???????????? point.collect();?
???????? }?
???? }?
}
控制台运行效果:
[2013-03-21 16:02:43,654] [main] (Log4jAdapter.java:60) INFO? etm.core.monitor.EtmMonitor - JETM 1.2.3 started.
|-------------------|-----|---------|-------|-------|-------|
| Measurement Point |? #? | Average |? Min? |? Max? | Total |
|-------------------|-----|---------|-------|-------|-------|
| AddNumber运行时间???? |?? 1 |?? 0.196 | 0.196 | 0.196 | 0.196 |
|-------------------|-----|---------|-------|-------|-------|
| lessJ运行时间???????? | 101 |?? 0.000 | 0.000 | 0.010 | 0.050 |
|-------------------|-----|---------|-------|-------|-------|
| 主函数运行时间?????????? |?? 1 |?? 0.909 | 0.909 | 0.909 | 0.909 |
|-------------------|-----|---------|-------|-------|-------|
[2013-03-21 16:02:43,685] [main] (Log4jAdapter.java:60) INFO? etm.core.monitor.EtmMonitor - Shutting down JETM.