介绍
Metrics是一个给JAVA服务的各项指标提供度量工具的包,在JAVA代码中嵌入Metrics代码,可以方便的对业务代码的各个指标进行监控,同时,Metrics能够很好的跟Ganglia、Graphite,influxdb 优秀监控工具整合使用,方便的提供图形化接口。
应用场景
每秒钟的请求数是多少(TPS)?
平均每个请求处理的时间?
请求处理的最长耗时?
请求处理的响应的直方图?
请求处理正确响应率?
等待处理的请求队列长度?
查看整个系统的的CPU使用率、内存占用、jvm运行情况;以及系统运行出错率等等一系列的实时数据采集时,最简单的方法就是在系统的入口、出口和关键位置设置埋点,然后将采集到的信息发送到实时监控平台或者存入到缓存和DB中做进一步的分析和展示。
Metrics的基本功能
Metrics提供了五个基本的度量类型:
Gauges(度量)
Counters(计数器)
Histograms(直方图数据)
Meters(TPS计算器)
Timers(计时器)
Metrics中MetricRegistry是中心容器,它是程序中所有度量的容器,所有新的度量工具都要注册到一个MetricRegistry实例中才可以使用,尽量在一个应用中保持让这个MetricRegistry实例保持单例。