概述
Metrics is a Java library which gives you unparalleled insight into what your code does in production.
Metrics provides a powerful toolkit of ways to measure the behavior of critical components in your production environment.
With modules for common libraries like Jetty, Logback, Log4j, Apache HttpClient, Ehcache, JDBI, Jersey and reporting backends like Ganglia and Graphite, Metrics provides you with full-stack visibility.
Dropwizard Metrics 能够帮助我们从各个角度度量已存在的java应用的成熟框架,简便地以jar包的方式集成进您的系统,可以以http、ganglia、graphite、log4j等方式提供全栈式的监控视野。
Metrics 类型
度量术语 | 描述 |
---|---|
Meters | Meter度量一系列事件发生的速率(rate),例如TPS。Meters会统计最近1分钟,5分钟,15分钟,还有全部时间的速率。 |
Gauges | 某个特定瞬时值,例如MQ中消息数量 |
Counters | Counter 就是计数器,Counter 只是用 Gauge 封装了 AtomicLong |
Histograms | Histogram统计数据的分布情况。比如最小值,最大值,中间值,还有中位数,75百分位, 90百分位, 95百分位, 98百分位, 99百分位, 和 99.9百分位的值(percentiles)。 |
Timers | Timer其实是 Histogram 和 Meter 的结合, histogram 某部分代码/调用的耗时, meter统计TPS。 |
Health Checks | 集中式检测系统的监控状态,例如数据库连接是否正常。 |
Reporting | 度量值可以通过 HTTP,SLF4J,JMX,CSV ,Ganglia,Graphite |
使用
Maven依赖
<dependencies>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-core</artifactId>
<version>${metrics.version}</version>
</dependency>
</dependencies>
目前Metrics的最新版本是** 3.2.4 **。