JAVA Metrics是一个用于度量的一个JAVA的类库
在Metrics中最重要的包就是metrics-core,它提供以下几个基本的功能:
5种度量的类型:Gauges, Counters, Histograms, Meters,Timers.
健康检查(Health Checks)
可以通过JMX,终端,CSV文件来报告Metrics指标
所有的度量类型都是在Metrics或者MetricsRegistry类中,如果你的应用运行在另外一个独立的JVM应用中的话(如多个WARS部署在同一个应用服务上),你应该使用MetricsRegistry这个实例。如果你的应用是单独一个JVM进程的话,你可以使用Metrics中的静态工厂方法。
软件功能
Metrics是一个Java库,可以对系统进行监控,统计一些系统的性能指标。
比如一个系统后台服务,我们可能需要了解一下下面的一些情况:
1、每秒钟的请求数是多少(TPS)?
2、平均每个请求处理的时间?
3、请求处理的最长耗时?
4、等待处理的请求队列长度?
5、又或者一个缓存服务:缓存的命中率?平均查询缓存的时间?
基本上每一个服务、应用都需要做一个监控系统,这需要尽量以少量的代码,实现统计某类数据的功能。
使用方法
Metrics的五种类型
Gauges
最简单的度量指标,只有一个简单的返回值,例如,我们想衡量一个待处理队列中任务的个数
Counters
Counter 就是计数器,Counter 只是用 Gauge 封装了 AtomicLong ,我们可以使用如下的方法获得队列大小
Meters
Meter度量一系列事件发生的速率(rate),例如TPS。Meters会统计最近1分钟,5分钟,15分钟,还有全部时间的速率。
Histograms
Histogram统计数据的分布情况。比如最小值,最大值,中间值,还有中位数,75百分位,90百分位,95百分位,98百分位,99百分位,和 99.9百分位的值(percentiles)。
Timers
Timer其实是 Histogram 和 Meter 的结合, histogram 某部分代码/调用的耗时, meter统计TPS。
- 本地下载(推荐): 本地下载