diff options
author | Sean McGivern <sean@gitlab.com> | 2016-06-14 17:49:26 +0300 |
---|---|---|
committer | Sean McGivern <sean@gitlab.com> | 2016-06-14 18:41:17 +0300 |
commit | 3582c6aedcee14162217cd103092e6340a1c4741 (patch) | |
tree | 000c87a76cc6ef6ac8911207121bfa54788998e5 /config | |
parent | ab3fb00c429133ac4aa98887314dba3a167b919c (diff) |
Track new Redis connections
Increment the counter `new_redis_connections` on each call to
`Redis::Client#connect`, if we're in a transaction.
Diffstat (limited to 'config')
-rw-r--r-- | config/initializers/metrics.rb | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/config/initializers/metrics.rb b/config/initializers/metrics.rb index f6509ee43f1..4bc6acdedb9 100644 --- a/config/initializers/metrics.rb +++ b/config/initializers/metrics.rb @@ -138,4 +138,20 @@ if Gitlab::Metrics.enabled? GC::Profiler.enable Gitlab::Metrics::Sampler.new.start + + module TrackNewRedisConnections + def connect(*args) + val = super + + if current_transaction = Gitlab::Metrics::Transaction.current + current_transaction.increment(:new_redis_connections, 1) + end + + val + end + end + + class ::Redis::Client + prepend TrackNewRedisConnections + end end |