Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorPawel Chojnacki <pawel@chojnacki.ws>2018-01-22 22:52:41 +0300
committerPawel Chojnacki <pawel@chojnacki.ws>2018-01-29 17:13:05 +0300
commitffac08d290bfcc7459a1c9e58c44efc8c7be6a0e (patch)
tree7662db638bd31f8b07e8a4371470633ee7ad22f4 /lib
parent7772dfb788cead286265b491c0ce28dbcf5f9fd2 (diff)
Use class variables for metrics provider cache
Diffstat (limited to 'lib')
-rw-r--r--lib/gitlab/metrics/concern.rb11
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