brettwooldridge / HikariCP

光 HikariCP・A solid, high-performance, JDBC connection pool at last.
Apache License 2.0
19.86k stars 2.92k forks source link

Waiting connections #1707

Open danieljipa opened 3 years ago

danieljipa commented 3 years ago

Hello, Thanks for this nice piece of software. I was wondering if there is a metric on how many potential connection are waiting for a database. I have some peculiar behavior that I cannot explain.

DEBUG [2020-12-22 13:17:31,832] [] [] [datasource.hikari.omnicomit.master housekeeper] com.zaxxer.hikari.pool.HikariPool: datasource.hikari.omnicomit.master - After cleanup  stats (total=2, active=0, idle=2, waiting=0)
DEBUG [2020-12-22 13:18:01,832] [] [] [datasource.hikari.omnicomit.master housekeeper] com.zaxxer.hikari.pool.HikariPool: datasource.hikari.omnicomit.master - Before cleanup stats (total=2, active=0, idle=2, waiting=0)
DEBUG [2020-12-22 13:18:01,832] [] [] [datasource.hikari.omnicomit.master housekeeper] com.zaxxer.hikari.pool.HikariPool: datasource.hikari.omnicomit.master - After cleanup  stats (total=2, active=0, idle=2, waiting=0)
DEBUG [2020-12-22 13:18:31,036] [] [] [datasource.hikari.omnicomit.master connection closer] com.zaxxer.hikari.pool.PoolBase: datasource.hikari.omnicomit.master - Closing connection com.mysql.jdbc.JDBC4Connection@12a4ef03: (connection has passed maxLifetime)
DEBUG [2020-12-22 13:18:31,832] [] [] [datasource.hikari.omnicomit.master housekeeper] com.zaxxer.hikari.pool.HikariPool: datasource.hikari.omnicomit.master - Before cleanup stats (total=1, active=0, idle=1, waiting=0)
DEBUG [2020-12-22 13:18:31,832] [] [] [datasource.hikari.omnicomit.master housekeeper] com.zaxxer.hikari.pool.HikariPool: datasource.hikari.omnicomit.master - After cleanup  stats (total=1, active=0, idle=1, waiting=0)
DEBUG [2020-12-22 13:19:01,832] [] [] [datasource.hikari.omnicomit.master housekeeper] com.zaxxer.hikari.pool.HikariPool: datasource.hikari.omnicomit.master - Before cleanup stats (total=1, active=0, idle=1, waiting=0)
DEBUG [2020-12-22 13:19:01,832] [] [] [datasource.hikari.omnicomit.master housekeeper] com.zaxxer.hikari.pool.HikariPool: datasource.hikari.omnicomit.master - After cleanup  stats (total=1, active=0, idle=1, waiting=0)
DEBUG [2020-12-22 13:19:31,832] [] [] [datasource.hikari.omnicomit.master housekeeper] com.zaxxer.hikari.pool.HikariPool: datasource.hikari.omnicomit.master - Before cleanup stats (total=1, active=0, idle=1, waiting=0)
DEBUG [2020-12-22 13:19:31,832] [] [] [datasource.hikari.omnicomit.master housekeeper] com.zaxxer.hikari.pool.HikariPool: datasource.hikari.omnicomit.master - After cleanup  stats (total=1, active=0, idle=1, waiting=0)
DEBUG [2020-12-22 13:20:01,975] [] [] [datasource.hikari.omnicomit.master housekeeper] com.zaxxer.hikari.pool.HikariPool: datasource.hikari.omnicomit.master - Before cleanup stats (total=1, active=0, idle=1, waiting=0)
DEBUG [2020-12-22 13:20:01,975] [] [] [datasource.hikari.omnicomit.master housekeeper] com.zaxxer.hikari.pool.HikariPool: datasource.hikari.omnicomit.master - After cleanup  stats (total=1, active=0, idle=1, waiting=0)
DEBUG [2020-12-22 13:20:03,973] [] [] [datasource.hikari.omnicomit.master connection closer] com.zaxxer.hikari.pool.PoolBase: datasource.hikari.omnicomit.master - Closing connection com.mysql.jdbc.JDBC4Connection@7a1c11cb: (connection has passed maxLifetime)
DEBUG [2020-12-22 13:20:03,975] [] [] [datasource.hikari.omnicomit.master connection adder] com.zaxxer.hikari.pool.HikariPool: datasource.hikari.omnicomit.master - Added connection com.mysql.jdbc.JDBC4Connection@62871a83
DEBUG [2020-12-22 13:20:31,975] [] [] [datasource.hikari.omnicomit.master housekeeper] com.zaxxer.hikari.pool.HikariPool: datasource.hikari.omnicomit.master - Before cleanup stats (total=1, active=0, idle=1, waiting=0)
DEBUG [2020-12-22 13:20:31,975] [] [] [datasource.hikari.omnicomit.master housekeeper] com.zaxxer.hikari.pool.HikariPool: datasource.hikari.omnicomit.master - After cleanup  stats (total=1, active=0, idle=1, waiting=0)
DEBUG [2020-12-22 13:21:01,975] [] [] [datasource.hikari.omnicomit.master housekeeper] com.zaxxer.hikari.pool.HikariPool: datasource.hikari.omnicomit.master - Before cleanup stats (total=1, active=0, idle=1, waiting=0)
DEBUG [2020-12-22 13:21:01,975] [] [] [datasource.hikari.omnicomit.master housekeeper] com.zaxxer.hikari.pool.HikariPool: datasource.hikari.omnicomit.master - After cleanup  stats (total=1, active=0, idle=1, waiting=0)
DEBUG [2020-12-22 13:21:31,975] [] [] [datasource.hikari.omnicomit.master housekeeper] com.zaxxer.hikari.pool.HikariPool: datasource.hikari.omnicomit.master - Before cleanup stats (total=1, active=0, idle=1, waiting=0)
DEBUG [2020-12-22 13:21:31,975] [] [] [datasource.hikari.omnicomit.master housekeeper] com.zaxxer.hikari.pool.HikariPool: datasource.hikari.omnicomit.master - After cleanup  stats (total=1, active=0, idle=1, waiting=0)
DEBUG [2020-12-22 13:21:49,377] [] [] [RxCachedThreadScheduler-19] com.zaxxer.hikari.pool.HikariPool: datasource.hikari.omnicomit.master - Timeout failure stats (total=1, active=1, idle=0, waiting=5)
ERROR [2020-12-22 13:21:49,377] [] [] [RxCachedThreadScheduler-19] org.hibernate.engine.jdbc.spi.SqlExceptionHelper: datasource.hikari.omnicomit.master - Connection is not available, request timed out after 5000ms.
Caused by: java.sql.SQLTransientConnectionException: datasource.hikari.omnicomit.master - Connection is not available, request timed out after 5000ms.
DEBUG [2020-12-22 13:21:49,776] [] [] [RxCachedThreadScheduler-496] com.zaxxer.hikari.pool.HikariPool: datasource.hikari.omnicomit.master - Timeout failure stats (total=1, active=1, idle=0, waiting=4)
ERROR [2020-12-22 13:21:49,776] [] [] [RxCachedThreadScheduler-496] org.hibernate.engine.jdbc.spi.SqlExceptionHelper: datasource.hikari.omnicomit.master - Connection is not available, request timed out after 5319ms.
Caused by: java.sql.SQLTransientConnectionException: datasource.hikari.omnicomit.master - Connection is not available, request timed out after 5319ms.
DEBUG [2020-12-22 13:21:49,913] [] [] [RxCachedThreadScheduler-244] com.zaxxer.hikari.pool.HikariPool: datasource.hikari.omnicomit.master - Timeout failure stats (total=1, active=1, idle=0, waiting=3)
ERROR [2020-12-22 13:21:49,913] [] [] [RxCachedThreadScheduler-244] org.hibernate.engine.jdbc.spi.SqlExceptionHelper: datasource.hikari.omnicomit.master - Connection is not available, request timed out after 5327ms.
Caused by: java.sql.SQLTransientConnectionException: datasource.hikari.omnicomit.master - Connection is not available, request timed out after 5327ms.
DEBUG [2020-12-22 13:21:49,991] [] [] [datasource.hikari.omnicomit.master connection adder] com.zaxxer.hikari.pool.HikariPool: datasource.hikari.omnicomit.master - Added connection com.mysql.jdbc.JDBC4Connection@237af92b
DEBUG [2020-12-22 13:22:01,975] [] [] [datasource.hikari.omnicomit.master housekeeper] com.zaxxer.hikari.pool.HikariPool: datasource.hikari.omnicomit.master - Before cleanup stats (total=2, active=0, idle=2, waiting=0)
DEBUG [2020-12-22 13:22:01,975] [] [] [datasource.hikari.omnicomit.master housekeeper] com.zaxxer.hikari.pool.HikariPool: datasource.hikari.omnicomit.master - After cleanup  stats (total=2, active=0, idle=2, waiting=0)
DEBUG [2020-12-22 13:22:31,976] [] [] [datasource.hikari.omnicomit.master housekeeper] com.zaxxer.hikari.pool.HikariPool: datasource.hikari.omnicomit.master - Before cleanup stats (total=2, active=0, idle=2, waiting=0)
DEBUG [2020-12-22 13:22:31,976] [] [] [datasource.hikari.omnicomit.master housekeeper] com.zaxxer.hikari.pool.HikariPool: datasource.hikari.omnicomit.master - After cleanup  stats (total=2, active=0, idle=2, waiting=0)
DEBUG [2020-12-22 13:23:01,976] [] [] [datasource.hikari.omnicomit.master housekeeper] com.zaxxer.hikari.pool.HikariPool: datasource.hikari.omnicomit.master - Before cleanup stats (total=2, active=0, idle=2, waiting=0)
DEBUG [2020-12-22 13:23:01,976] [] [] [datasource.hikari.omnicomit.master housekeeper] com.zaxxer.hikari.pool.HikariPool: datasource.hikari.omnicomit.master - After cleanup  stats (total=2, active=0, idle=2, waiting=0)
DEBUG [2020-12-22 13:23:31,976] [] [] [datasource.hikari.omnicomit.master housekeeper] com.zaxxer.hikari.pool.HikariPool: datasource.hikari.omnicomit.master - Before cleanup stats (total=2, active=0, idle=2, waiting=0)
DEBUG [2020-12-22 13:23:31,976] [] [] [datasource.hikari.omnicomit.master housekeeper] com.zaxxer.hikari.pool.HikariPool: datasource.hikari.omnicomit.master - After cleanup  stats (total=2, active=0, idle=2, waiting=0)
DEBUG [2020-12-22 13:24:01,976] [] [] [datasource.hikari.omnicomit.master housekeeper] com.zaxxer.hikari.pool.HikariPool: datasource.hikari.omnicomit.master - Before cleanup stats (total=2, active=0, idle=2, waiting=0)

I see these connection not available randomly and I'm trying to figure out a pattern. Those waiting stats I cannot find in the metrics list for grafana. I need to correlate them with db states.

annappropriate commented 3 years ago

I think hikaricp_pending_threads might be what you're looking for.