概述
HikariCP提供了一些监控指标,他的监控指标都是基于MicroMeter提供出来的,然后支持Prometheus和Dropwizard。本次我们将讨论一下HikariCp的监控指标有哪些,为什么提供这些指标,以及咱们如何去做监控。
监控指标
就像com.zaxxer.hikari.metrics.PoolStats提供的那样,几个重要的指标都存储在poolState中。
totalConnections
总连接数,包括空闲的连接和使用中的连接。
idleConnections 空闲连接数
activeConnections
活跃连接数
totalConnections = activeConnection + idleConnections
pendingThreads
正在等待连接的线程数量。排查性能问题时,这个指标是一个重要的参考指标,如果正在等待连接的线程在相当一段时间内数量较多,可以考虑扩大数据库连接池的size。(即HikariCP的maxPoolSize)
maxConnections
最大连接数,统计指标,统计到目前为止连接的最大数量。
minConnections
最小连接数,统计指标,统计到目前为止连接的最小数量。
usageTime
每个连接使用的时间,当连接被回收的时候会记录此指标:com.zaxxer.hikari.pool.HikariPool#recycle
acquireTime
获取每个连接需要等待时间,一个请求获取数据库连接后或者因为超时失败后,会记录此指标。