summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPawel Chojnacki <pawel@chojnacki.ws>2017-12-12 00:23:56 +0100
committerPawel Chojnacki <pawel@chojnacki.ws>2017-12-12 18:38:28 +0100
commitfd0a5168542f3a69815c99dc21f39587064f872d (patch)
tree1df607644d9517fe77840a6b53eb39db1042c92e
parentca176a9bfe2ce9555da16e134bb92779b85952ad (diff)
downloadgitlab-ce-fd0a5168542f3a69815c99dc21f39587064f872d.tar.gz
use class variables instead of CONSTANTs
-rw-r--r--lib/gitlab/metrics/method_call.rb16
-rw-r--r--spec/lib/gitlab/metrics/method_call_spec.rb4
2 files changed, 12 insertions, 8 deletions
diff --git a/lib/gitlab/metrics/method_call.rb b/lib/gitlab/metrics/method_call.rb
index a6900225a27..a844100e5a8 100644
--- a/lib/gitlab/metrics/method_call.rb
+++ b/lib/gitlab/metrics/method_call.rb
@@ -2,8 +2,8 @@ module Gitlab
module Metrics
# Class for tracking timing information about method calls
class MethodCall
- MEASUREMENT_ENABLED_CACHE = Concurrent::AtomicBoolean.new(false)
- MEASUREMENT_ENABLED_CACHE_EXPIRES_AT = Concurrent::AtomicFixnum.new(Time.now.to_i)
+ @@measurement_enabled_cache = Concurrent::AtomicBoolean.new(false)
+ @@measurement_enabled_cache_expires_at = Concurrent::AtomicFixnum.new(Time.now.to_i)
MUTEX = Mutex.new
BASE_LABELS = { module: nil, method: nil }.freeze
attr_reader :real_time, :cpu_time, :call_count, :labels
@@ -20,6 +20,10 @@ module Gitlab
end
end
+ def self.measurement_enabled_cache_expires_at
+ @@measurement_enabled_cache_expires_at
+ end
+
# name - The full name of the method (including namespace) such as
# `User#sign_in`.
#
@@ -74,14 +78,14 @@ module Gitlab
end
def call_measurement_enabled?
- expires_at = MEASUREMENT_ENABLED_CACHE_EXPIRES_AT.value
+ expires_at = @@measurement_enabled_cache_expires_at.value
if expires_at < Time.now.to_i
- if MEASUREMENT_ENABLED_CACHE_EXPIRES_AT.compare_and_set(expires_at, (Time.now + 30.seconds).to_i)
- MEASUREMENT_ENABLED_CACHE.value = Feature.get(:prometheus_metrics_method_instrumentation).enabled?
+ if @@measurement_enabled_cache_expires_at.compare_and_set(expires_at, (Time.now + 30.seconds).to_i)
+ @@measurement_enabled_cache.value = Feature.get(:prometheus_metrics_method_instrumentation).enabled?
end
end
- MEASUREMENT_ENABLED_CACHE.value
+ @@measurement_enabled_cache.value
end
end
end
diff --git a/spec/lib/gitlab/metrics/method_call_spec.rb b/spec/lib/gitlab/metrics/method_call_spec.rb
index 5ce62504245..f98d7e48b17 100644
--- a/spec/lib/gitlab/metrics/method_call_spec.rb
+++ b/spec/lib/gitlab/metrics/method_call_spec.rb
@@ -21,7 +21,7 @@ describe Gitlab::Metrics::MethodCall do
context 'prometheus instrumentation is enabled' do
before do
allow(Feature.get(:prometheus_metrics_method_instrumentation)).to receive(:enabled?).and_call_original
- described_class::MEASUREMENT_ENABLED_CACHE_EXPIRES_AT.value = Time.now.to_i - 1
+ described_class.measurement_enabled_cache_expires_at.value = Time.now.to_i - 1
Feature.get(:prometheus_metrics_method_instrumentation).enable
end
@@ -66,7 +66,7 @@ describe Gitlab::Metrics::MethodCall do
context 'prometheus instrumentation is disabled' do
before do
- described_class::MEASUREMENT_ENABLED_CACHE_EXPIRES_AT.value = Time.now.to_i - 1
+ described_class.measurement_enabled_cache_expires_at.value = Time.now.to_i - 1
Feature.get(:prometheus_metrics_method_instrumentation).disable
end