diff options
Diffstat (limited to 'config/initializers/metrics.rb')
-rw-r--r-- | config/initializers/metrics.rb | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/config/initializers/metrics.rb b/config/initializers/metrics.rb index f6509ee43f1..d159f4eded2 100644 --- a/config/initializers/metrics.rb +++ b/config/initializers/metrics.rb @@ -128,14 +128,25 @@ if Gitlab::Metrics.enabled? config.instrument_instance_methods(API::Helpers) config.instrument_instance_methods(RepositoryCheck::SingleRepositoryWorker) - # Iterate over each non-super private instance method to keep up to date if - # internals change - RepositoryCheck::SingleRepositoryWorker.private_instance_methods(false).each do |method| - config.instrument_instance_method(RepositoryCheck::SingleRepositoryWorker, method) - end end 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 |