首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在(JAMon)中使用多个标签

在(JAMon)中使用多个标签
EN

Stack Overflow用户
提问于 2015-06-17 08:49:56
回答 2查看 352关注 0票数 0

是否可以使用同一个JAMon监视器类监视不同的处理步骤?例如,在代码示例中,我想测量"Point1“和"Point2”的执行时间。但是,该示例只返回有关第二步的统计信息。当然,我可以创建几个类型为Monitor的对象。但也许有一种更干净的方法?

代码语言:javascript
复制
Monitor mon = null;     
for(int i =0; i < 1000; i++){
    //Part1
    mon = MonitorFactory.start("Point 1");
    Thread.sleep(2);
    mon.stop();     
    
    //Part2
    mon = MonitorFactory.start("Point 2");
    mon.stop();
}
    
System.out.println(mon.toString());

输出:

JAMon Label=Point 2,Units=ms. (LastValue=0.0,Hits=1000.0,Avg=0.001,Total=1.0,Min=0.0,Max=1.0,Active=0.0,Avg Active=1.0,Max Active=1.0,First Access=Wed Jun 17 :40:44 CEST 2015,LastAccess=Wed Jun 17 10:40:46 CEST 2015)

期望产出:

JAMon Label=Point 1,Units=ms. (LastValue=0.0,Hits=1000.0,Avg=0.001,Total=1.0,Min=0.0,Max=1.0,Active=0.0,Avg Active=1.0,Max Active=1.0,First Access=Wed Jun 17 :40:44 CEST 2015,LastAccess=Wed Jun 17 10:40:46 CEST 2015) JAMon Label=Point 2,Units=ms. (LastValue=0.0,Hits=1000.0,Avg=0.001,Total=1.0,Min=0.0,Max=1.0,Active=0.0,Avg Active=1.0,Max Active=1.0,First Access=Wed Jun 17 :40:44 CEST 2015,LastAccess=Wed Jun 17 10:40:46 CEST 2015)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-16 07:30:25

可以将监视器toString()调用更改为显式getMonitor(.)打电话。

代码语言:javascript
复制
Monitor mon = null;   

for(int i =0; i < 1000; i++){
  //Part1
  mon = MonitorFactory.start("Point 1");
  Thread.sleep(2);
  mon.stop();     

  //Part2
  mon = MonitorFactory.start("Point 2");
  mon.stop();
}

System.out.println(MonitorFactory.getMonitor("Point 1").toString());
System.out.println(MonitorFactory.getMonitor("Point 2").toString());

或者你可以创建2个监视器。

代码语言:javascript
复制
Monitor mon1 = null;   
Monitor mon2 = null;     

for(int i =0; i < 1000; i++){
  //Part1
  mon1 = MonitorFactory.start("Point 1");
  Thread.sleep(2);
  mon1.stop();     

  //Part2
  mon2 = MonitorFactory.start("Point 2");
  mon2.stop();
}

System.out.println(mon1.toString());
System.out.println(mon2.toString());
票数 0
EN

Stack Overflow用户

发布于 2015-11-27 15:02:26

有一个比另一个答案更好的方法:

代码语言:javascript
复制
for( Object monitor: MonitorFactory.getMap().values() ){
    System.out.println( monitor ); 
}

这将打印所有使用的显示器,直到现在。所有的线索。这正是你想要的。

您可以检查已完成的代码示例和输出这里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30886663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档