java metrics_Metrics—Java版的指标度量工具之一

随着系统越来越大,越来越复杂,我们需要在业务方面加上一些监控服务。Metrics作为一款监控指标的度量类库,在JAVA代码中嵌入Metrics代码,可以方便的对业务代码的各个指标进行监控,同时,Metrics能够很好的跟Ganlia、Graphite结合,方便的提供图形化接口。

使用Metrics

使用Metrics,只需要在pom文件里面增加metrics-core的依赖:1

2

3

4

5

io.dropwizard.metrics

metrics-core

4.0.0

core包主要提供如下核心功能:Metrics中MetricRegistry是中心容器,它是程序中所有度量的容器,所有新的度量工具都要注册到一个MetricRegistry实例中才可以使用,尽量在一个应用中保持让这个MetricRegistry实例保持单例。

支持五种metric类型:Gauges(度量)

Counters(计数器)

Meters(TPS计算器)

Histograms(直方图数据)

Timers(计时器)

可以将metrics值通过JMX、Console,CSV文件和SLF4J loggers发布出来。

Gauge (仪表)

Gauge代表一个度量的即时值。 当你开汽车的时候, 当前速度是Gauge值。 你测体温的时候, 体温计的刻度是一个Gauge值。 当你的程序运行的时候,内存使用量和数据库连接数都可以通过Gauge值来度量。

下面是一个使用SpringBoot创建的domo示例:

配置类:MonitorConfiguration.java,将MetricRegistry的实例配置到Spring的IOC容器中。1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27package com.lzumetal.springboot.metrics.config;

import com.codahale.metrics.MetricRegistry;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

*

Description:

*

* @author liaosi

* @date 2018-07-28

*/

public class{

* 其实就是一个metrics容器,因为该类的一个属性final ConcurrentMap metrics,

* 在实际使用中做成单例的

* @return

*/

@Bean(name = "metricRegistry")

public MetricRegistry metricRegistry(){

return new MetricRegistry();

}

}

SpringBood项目启动类:1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19package com.lzumetal.springboot.metrics;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

*

Description:

*

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值