`

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.

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics