[TOC]

简介

Metric是一个第三方包,用来帮助我们对应用程序的性能进行度量。曾有友商基于这个包编写的程序还申请了专利,总之这是一个使用方便的组件。我们日常进行应用程序性能度量时,最常用的方法是打日志记录每个交易的一些耗时数据,有了这些原始数据,自己再进行统计分析。通过使用Metrics这个包,我们可以很方便的定义一些度量值,抓取一些关键时点和变量的信息,还能按照自定义的周期进行总体的统计,来分析应用的性能。Metrics还能够将这些统计信息输出到Console、日志文件、JMX,甚至还支持以微服务的方式向外暴露数据接口,从而方便我们将这些数据接入到Grafana或自己的统计分析工具中。

快速入门

Maven配置

io.dropwizard.metrics

metrics-core

4.0.5

本文发表时,最新版本是4.1.0

MetricRegistry

使用MetricRegistry注册一个或多个metrics。如果需要多个报告,则需要声明多个MetricRegistry对象。

有两种注册方式

MetricRegistry metricRegistry = new MetricRegistry();

Meter meter1 = new Meter();

metricRegistry.register("meter1", meter1);

Meter meter2 = metricRegistry.meter("meter2");

更为详细的代码示例可以参考我的Git

Gauge

Gauge能做的就是返回一个变量的瞬时值,在此基础上还提供了RatioGauge\CachedGauge\DerivativeGauge\JmxAttributeGauge的使用。

Meter

Meter用来度量事件并发的数量和速度。

Counter

Counter度量类型是一种特殊的Gauge度量,因为其持有的值就是一个AtomicLong,可以递增也可以递减。

Histgram

Histogram度量类型用于测量一个数据流各值的统计分布。其除了能够测量最大值、最小值、平均值外,还可以测量中位数、75、90、95、98、99和99.9%等。

Histogram支持四种数据采样方式 ExponentiallyDecayingReservior, UniformReservoir, SlidingTimeWindowReservior, SlidingWindowReservior。

Timer

Timer度量类型包含了Meter和Histogram的统计,即比率和统计信息的综合。

Reporter

使用Reporter可以输出测量结果,支持ConsoleReporter, CsvReporter, Slf4Reporter, JmxReporter等等。

更多用法

通过metrics-healthchecks和metrics-servlets模块,还能支持健康检查和微服务的数据输出,有兴趣的朋友可以继续探索。

参考资料

java metrics_Java Metrics工具介绍相关推荐

  1. Java常用开发工具介绍

    Java常用开发工具介绍 编辑器 记事本 Notepad++ EditPlus UltraEdit(UE) 其它文本编辑器 集成开发环境 JBuilder Eclipse NetBeans

  2. JAVA java学习(9)——————java常用开发工具介绍

    下面这些工具或许功能和作用不同,但是有着一个共同的主旨,那就是--它们都是为了给 Java 编码和开发提供卓越的支持. 常用源码编辑工具介绍 ava 源代码本质上其实就是普通的文本文件,所以理论上来说 ...

  3. Java XML解析工具 dom4j介绍及使用实例

    Java XML解析工具 dom4j介绍及使用实例 dom4j介绍 dom4j的项目地址:http://sourceforge.net/projects/dom4j/?source=directory ...

  4. 一些Java反编译工具/源代码查看工具的介绍

    2019独角兽企业重金招聘Python工程师标准>>> 有的朋友抱怨他们在使用他们公司的闭源框架时看不到底层的源代码.那么可以尝试使用一些Java反编译工具. 下面我举个例子介绍具体 ...

  5. Java代码缺陷自动分析工具介绍

    Java代码缺陷自动分析工具介绍                                                                                     ...

  6. Java新手看招 常用开发工具介绍

    Java新手看招 常用开发工具介绍 Java的应用越来越广泛,学习Java的人也越来越多.学过程序设计的人知道,使用Basic进行程序设计,可以使用QBasic.Visual Basic等开发工具:使 ...

  7. java 实体属性个数_?Java中比较实用实体转换工具介绍

    ​Java中比较实用实体转换工具介绍 文中源码地址 大家一般编码过程中,经常会遇到DO对象转化为DTO对象,对象和对象之间转换一般需要用到转换工具,毕竟使用getter/setter太过麻烦 DO:D ...

  8. Java XML解析工具 JDOM介绍及使用实例

    Java XML解析工具 JDOM JDOM介绍 JDOM是一种使用XML的独特Java工具包,用于快速开发XML应用程序. 它的设计包含Java语言的语法乃至语义. JDOM是一个开源项目,它基于树 ...

  9. java基础-Eclipse开发工具介绍

    java基础-Eclipse开发工具介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 所谓工欲善其事必先利其器,即将身为一名Java开发工程师怎么能没有一款好使的IDE呢?今天就 ...

最新文章

  1. ARM系列处理器和架构
  2. 哈希一致性、哈希取余、自定义轮询分片的比较
  3. 定义一个有参宏SWAP(t,x,y),用以交换t类型的两个参数的值
  4. Sublime Text3 使用
  5. 数据中心网络架构 — 云数据中心网络 — 二层架构设计示例
  6. mnn 编译转换工具 win10 2021
  7. 安装labelImg对数据集标注
  8. 洛谷 1341 无序字母对
  9. 抖音客新版UI短视频点赞任务系统完美运营级别[等级功能+信誉积分+保证金]
  10. 如何测试前台获得的数据
  11. WinRAR v5.10 正式版
  12. ab st语言编程手册_罗克韦尔ab plc micrologix 1400 编程手册中文高清版 .pdf
  13. Win11局域网内安装IIS
  14. word转pdf免费网站
  15. uint8_t、uint16_t、uint32_t、uint64_t
  16. 小案例:利用图床自动化批量上传图片并获取图片链接
  17. python数据分析电影论文_以腾讯5000部电影为例,告诉你Python数据分析该怎么做...
  18. 计算机应用基础实践考核考什么,《计算机应用基础》实践性环节考核方案
  19. 无效的月份oracle,Oracle插入失败:无效的月份
  20. conda使用清华镜像安装pytorch

热门文章

  1. linux文本三剑客演讲稿,linux文本三剑客之grep
  2. ssm+JSP计算机毕业设计引航调度系统的设计与实现znw9b【源码、程序、数据库、部署】
  3. C语言-二维数组的定义、引用
  4. 第01章 Windows下搭建Python集成开发环境
  5. 论 C++ 在OpenJudge中做题的易错点(一)
  6. RPC框架系列MessagePack
  7. Kubernetes Service多端口设置
  8. 雷库兹韦尔量子计算机,雷·库兹韦尔: 15年内人工智能将达到人类智慧
  9. 零基础如何有效的自学3D建模?资深大触来解疑
  10. NEC的云计算软件战略