diff options
author | Rafael França <rafaelmfranca@gmail.com> | 2016-11-08 16:13:06 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-08 16:13:06 -0500 |
commit | 1b16e4c348055e9e7909e59e47dbe346b149ba52 (patch) | |
tree | 93b79d27fefe3965a76a9a7260a423782954ee7b /activerecord/test/cases/connection_pool_test.rb | |
parent | bab665f8936cd6a5c05e2f31b1a11f820b1d7ed9 (diff) | |
parent | 35b6898f7cb5223e1de4edc1b4539e05dfd83d41 (diff) | |
download | rails-1b16e4c348055e9e7909e59e47dbe346b149ba52.tar.gz rails-1b16e4c348055e9e7909e59e47dbe346b149ba52.tar.bz2 rails-1b16e4c348055e9e7909e59e47dbe346b149ba52.zip |
Merge pull request #26988 from Paxa/connection_pool_stat
Add ActiveRecord::Base.connection_pool.stat
Diffstat (limited to 'activerecord/test/cases/connection_pool_test.rb')
-rw-r--r-- | activerecord/test/cases/connection_pool_test.rb | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/activerecord/test/cases/connection_pool_test.rb b/activerecord/test/cases/connection_pool_test.rb index 3844f1eca2..b08e4f603c 100644 --- a/activerecord/test/cases/connection_pool_test.rb +++ b/activerecord/test/cases/connection_pool_test.rb @@ -526,6 +526,26 @@ module ActiveRecord end end + def test_connection_pool_stat + with_single_connection_pool do |pool| + pool.with_connection do |connection| + stats = pool.stat + assert_equal({ size: 1, connections: 1, busy: 1, dead: 0, idle: 0, waiting: 0, checkout_timeout: 5 }, stats) + end + + stats = pool.stat + assert_equal({ size: 1, connections: 1, busy: 0, dead: 0, idle: 1, waiting: 0, checkout_timeout: 5 }, stats) + + Thread.new do + pool.checkout + Thread.current.kill + end.join + + stats = pool.stat + assert_equal({ size: 1, connections: 1, busy: 0, dead: 1, idle: 0, waiting: 0, checkout_timeout: 5 }, stats) + end + end + private def with_single_connection_pool one_conn_spec = ActiveRecord::Base.connection_pool.spec.dup |