diff options
author | Pawel Chojnacki <pawel@chojnacki.ws> | 2018-01-22 20:52:41 +0100 |
---|---|---|
committer | Pawel Chojnacki <pawel@chojnacki.ws> | 2018-01-29 15:13:05 +0100 |
commit | ffac08d290bfcc7459a1c9e58c44efc8c7be6a0e (patch) | |
tree | 7662db638bd31f8b07e8a4371470633ee7ad22f4 /lib | |
parent | 7772dfb788cead286265b491c0ce28dbcf5f9fd2 (diff) | |
download | gitlab-ce-ffac08d290bfcc7459a1c9e58c44efc8c7be6a0e.tar.gz |
Use class variables for metrics provider cache
Diffstat (limited to 'lib')
-rw-r--r-- | lib/gitlab/metrics/concern.rb | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/lib/gitlab/metrics/concern.rb b/lib/gitlab/metrics/concern.rb index 30b06131190..924b53a615e 100644 --- a/lib/gitlab/metrics/concern.rb +++ b/lib/gitlab/metrics/concern.rb @@ -7,12 +7,12 @@ module Gitlab included do @@_metric_provider_mutex ||= Mutex.new - @_metrics_provider_cache = {} + @@_metrics_provider_cache = {} end class_methods do def reload_metric!(name) - @_metrics_provider_cache.delete(name) + @@_metrics_provider_cache.delete(name) end private @@ -23,12 +23,12 @@ module Gitlab end define_singleton_method(name) do - @_metrics_provider_cache&.[](name) || init_metric(type, name, opts, &block) + @@_metrics_provider_cache[name] || init_metric(type, name, opts, &block) end end def fetch_metric(type, name, opts = {}, &block) - @_metrics_provider_cache&.[](name) || init_metric(type, name, opts, &block) + @@_metrics_provider_cache[name] || init_metric(type, name, opts, &block) end def init_metric(type, name, opts = {}, &block) @@ -44,8 +44,7 @@ module Gitlab def synchronized_cache_fill(key) @@_metric_provider_mutex.synchronize do - @_metrics_provider_cache ||= {} - @_metrics_provider_cache[key] ||= yield + @@_metrics_provider_cache[key] ||= yield end end |