当前位置: 首页 > 知识库问答 >
问题:

Java度量示例代码

艾仲渊
2023-03-14

我是度量的新手,我不明白为什么我得到这个输出,请有人解释。提前感谢。

package sample;
  import com.codahale.metrics.*;
  import java.util.concurrent.TimeUnit;

  public class GetStarted {
    static final MetricRegistry metrics = new MetricRegistry();
    public static void main(String args[]) {
      startReport();
      Meter requests = metrics.meter("requests");
      requests.mark();
      wait5Seconds();
    }

  static void startReport() {
      ConsoleReporter reporter = ConsoleReporter.forRegistry(metrics)
          .convertRatesTo(TimeUnit.SECONDS)
          .convertDurationsTo(TimeUnit.MILLISECONDS)
          .build();
      reporter.start(1, TimeUnit.SECONDS);
  }

  static void wait5Seconds() {
      try {
          Thread.sleep(5*1000);
      }
      catch(InterruptedException e) {}
  }
}

输出:

12/18/15 12:01:15PM = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

-- 计量----------------------------------------------------------------------请求计数 = 1 平均速率 = 1.00 事件/秒 1 分钟速率 = 0.00 事件/秒 5 分钟速率 = 0.00 事件/秒 15 分钟速率 = 0.00 事件/秒

12/18/15 12:01:16 PM ========================================================================

--仪表 ---------------------------------------------------------------------- 请求计数=1平均速率=0.50事件/秒1分钟速率=0.00事件/秒5分钟速率=0.00事件/秒15分钟速率=0.00事件/秒

12/18/15 12:01:17 PM ===========================================================

-米-请求计数= 1平均速率= 0.33事件/秒1分钟速率= 0.00事件/秒5分钟速率= 0.00事件/秒15分钟速率= 0.00事件/秒

12/18/15 12:01:18PM = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

-米-请求计数= 1平均速率= 0.25事件/秒1分钟速率= 0.00事件/秒5分钟速率= 0.00事件/秒15分钟速率= 0.00事件/秒

2015年12月18日下午12:01:19===========================================================

--仪表-------------------------------------------------------------------请求计数=1,平均速率=0.20事件/秒,1分钟速率=0.00事件/秒。5分钟速率=1.00事件/每秒,15分钟速率=2.00事件/秒

共有1个答案

龚铭
2023-03-14

创建注册表后,您以1秒的间隔启动了报告器。因此,每隔一秒,您的控制台报告器都会输出到控制台。

您已经选择了仪表类型度量,它将为您提供计数(事件发生次数)和平均速率(平均速率)。其他速率将为零,因为该测量的单个时间单位尚未结束。你只运行了5秒钟的程序,所以你不会得到1分钟的速率。让它运行超过1分钟,您可以看到具有某些值的其他速率。

requests.mark();

上面的行用于标记事件的发生。因为您已经调用了它一次,就会触发一个度量事件。由于您不再在程序中调用此方法,因此count保持为1。

平均速率为(从应用开始的总计数)/(从开始的总时间,以秒为单位)。注意:这里是秒。每一秒,记者都在打印。当计数=1时,以1秒速率=1计数/(1秒)。第二秒速率=(1计数)/(2秒)=0.5,第三秒速率=(1计数)/(3秒)=1.33

1分钟速率为(过去1分钟的总计数)/(60秒)。这里的1分钟速率为零,因为仍然没有经过1分钟。对于以下大间隔率也是如此:

5分钟速率为(最后5分钟的总计数)/(5*60秒)。5分钟= 5*60秒

您可能希望线程处于Hibernate状态,从而期望日志中存在 5 秒的间隔。但记者正在另一个线程中运行。所以在这里睡5秒是没有价值的,除了让程序运行到5秒。

 类似资料:
  • 本文向大家介绍java图片对比度调整示例代码,包括了java图片对比度调整示例代码的使用技巧和注意事项,需要的朋友参考一下 前言 本文主要给大家介绍了关于java图片对比度调整的方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 方法如下 测试代码 图片对比度调整代码 图片读取,和存储函数 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价

  • 本文向大家介绍java高质量缩放图片的示例代码,包括了java高质量缩放图片的示例代码的使用技巧和注意事项,需要的朋友参考一下 可按照比例缩放,也可以指定宽高 以上就是java高质量缩放图片的示例代码的详细内容,更多关于Java 缩放图片的资料请关注呐喊教程其它相关文章!

  • crypto 加密实例代码 "use strict"; //引用crypto模块 const crypto = require("crypto"); //-------------MD5 可以任意多次调用update(),update()默认字符串编码是UTF-8 const hash = crypto.createHash("md5"); hash.update("hello, world!"

  • 服务热重启 控制器 Model与数据库 redis封装示例 kafka使用 web socket web socket命令解析 web socket client 直播 TCP基础实现 TCP命令解析 UDP UDP命令解析 自定义Event Loop 图片验证码 多进程爬虫 使用模板引擎

  • 示例的Python源代码或者交互界面都可以使用标准reST模块实现.在正常段落后面跟着 :: 开始,再加上适当缩进. 交互界面需包含提示及Python代码的输出. 交互界面没有特别的标记. 在最后一行输入或输出之后,不应出现空的提示; 这是一个什么都不做的例子: >>> 1 + 1 2 >>> 语法高亮显示由 Pygments (如果安装) 优雅的显示: 每个源文件都有高亮语言”highlight

  • 本文向大家介绍Java变量类型与示例,包括了Java变量类型与示例的使用技巧和注意事项,需要的朋友参考一下 Java变量 变量是用户定义的存储块名称,它们的值可以在程序执行期间随时更改。它们在类/程序中起着重要的作用,因为它们有助于存储,检索数据值。 Java中变量的类型 有三种类型的Java变量, 实例变量 局部变量 类/静态变量 1)实例变量 实例变量在类中声明,但在方法,块或构造函数之外。