Spring 当 HikariCP 调试日志的连接总数为 2 时,启动指标显示 HikariCP 连接创建计数为 1
Spring boot metrics shows HikariCP connection creation count 1, when HikariCP debug log's connection total is 2
我使用 Spring-boot 版本 2.0.2 来制作带有默认连接池 HikariCP 的 Web 应用程序。
HikariCP 调试日志显示收集连接大小为 2,但 spring 引导指标显示连接创建为 1。
我是不是理解错了?
提前致谢。
application.yml
就是下面的
spring:
datasource:
minimum-idle: 2
maximum-pool-size: 7
日志:
DEBUG 8936 --- [l-1 housekeeper] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - After cleanup stats (total=2, active=0, idle=2, waiting=0)
URL 指标:http://localhost:8080/xxx/metrics/hikaricp.connections.creation
回复:
{
name: "hikaricp.connections.creation",
measurements:
[
{
statistic: "COUNT",
value: 1 <--- I think this should be 2
},
...
]
}
您看到的是关于现阶段跟踪指标的 HikariCPs failfast check behaviour。
(因为我事先不知道答案,所以我实际上深入研究了这个问题)
在此阶段 MetricsTracker
尚未设置,因此不计算初始连接创建。如果可以建立初始连接,HikariCP 将保持此连接。在您的情况下,仅计算下一个连接创建。
如果您确实希望指标值为 "correct",您可以设置 spring.datasource.hikari.initialization-fail-timeout=-1
。 initializationFailTimeout
.
下的 HikariCPs README 中描述了该行为
如果您真的需要 "correct" 值是有争议的,因为您只会错过初始计数。理想情况下,您需要推断特定时间 window 内的连接创建计数 - 例如每分钟连接创建率,以确定您是否过早地从池中释放连接。
我使用 Spring-boot 版本 2.0.2 来制作带有默认连接池 HikariCP 的 Web 应用程序。 HikariCP 调试日志显示收集连接大小为 2,但 spring 引导指标显示连接创建为 1。
我是不是理解错了? 提前致谢。
application.yml
就是下面的
spring:
datasource:
minimum-idle: 2
maximum-pool-size: 7
日志:
DEBUG 8936 --- [l-1 housekeeper] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - After cleanup stats (total=2, active=0, idle=2, waiting=0)
URL 指标:http://localhost:8080/xxx/metrics/hikaricp.connections.creation
回复:
{
name: "hikaricp.connections.creation",
measurements:
[
{
statistic: "COUNT",
value: 1 <--- I think this should be 2
},
...
]
}
您看到的是关于现阶段跟踪指标的 HikariCPs failfast check behaviour。
(因为我事先不知道答案,所以我实际上深入研究了这个问题)
在此阶段 MetricsTracker
尚未设置,因此不计算初始连接创建。如果可以建立初始连接,HikariCP 将保持此连接。在您的情况下,仅计算下一个连接创建。
如果您确实希望指标值为 "correct",您可以设置 spring.datasource.hikari.initialization-fail-timeout=-1
。 initializationFailTimeout
.
如果您真的需要 "correct" 值是有争议的,因为您只会错过初始计数。理想情况下,您需要推断特定时间 window 内的连接创建计数 - 例如每分钟连接创建率,以确定您是否过早地从池中释放连接。