花时间在Yammer中度过

时间:2015-05-28 06:07:56

标签: java timer yammer

我正在尝试获取函数调用所需的时间并将它们放在JMX端口上。我发现yammer适合这个。虽然计数器是直接的,但使用计时器令人困惑。

 private Timer executeTimer;
 TimerContext timerContext;
 obj.timerContext = obj.executeTimer.time();
 .
 .
 .
 public void f()
   {
      //start timer
      f2();
      //stop timer
      //display time difference
   }

我知道你们中的一些人看起来太琐碎了,请耐心等待。我是yammer的新手,发现它混淆了哪个函数和哪个类使用。此外,如果您可以告诉我何时使用TimerContext以及何时使用Timer,这将非常有用。

1 个答案:

答案 0 :(得分:2)

首先,您需要初始化ExecuteTimer实例。

executeTimer=Metrics.newTimer(CLASSNAME.class, "Metrics_Name", TimeUnit.MILLISECONDS,TimeUnit.SECONDS);

之后,这样做: -

 private Timer executeTimer;
 TimerContext timerContext;
 obj.timerContext = obj.executeTimer.time();
 .
 .
 .
 public void f()
   {
       timerContext = executeTimer.time();//start timer
       f2();
       timerContext.stop();//stop timer
       //All stats are sent to JMX port by default. You can open console to view them
   }

为了获得更多内容,这里的实际代码是。

https://github.com/dropwizard/metrics/blob/master/metrics-core/src/main/java/com/codahale/metrics/Timer.java