summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/services/prometheus/proxy_service.rb5
-rw-r--r--spec/services/prometheus/proxy_service_spec.rb4
2 files changed, 6 insertions, 3 deletions
diff --git a/app/services/prometheus/proxy_service.rb b/app/services/prometheus/proxy_service.rb
index cadfe59b900..c5d2b84878b 100644
--- a/app/services/prometheus/proxy_service.rb
+++ b/app/services/prometheus/proxy_service.rb
@@ -3,6 +3,7 @@
module Prometheus
class ProxyService < BaseService
include ReactiveCaching
+ include Gitlab::Utils::StrongMemoize
self.reactive_cache_key = ->(service) { service.cache_key }
self.reactive_cache_lease_timeout = 30.seconds
@@ -91,7 +92,9 @@ module Prometheus
end
def prometheus_adapter
- @prometheus_adapter ||= @proxyable.prometheus_adapter
+ strong_memoize(:prometheus_adapter) do
+ @proxyable.prometheus_adapter
+ end
end
def prometheus_client_wrapper
diff --git a/spec/services/prometheus/proxy_service_spec.rb b/spec/services/prometheus/proxy_service_spec.rb
index 3e2eea12d95..4bdb20de4c9 100644
--- a/spec/services/prometheus/proxy_service_spec.rb
+++ b/spec/services/prometheus/proxy_service_spec.rb
@@ -48,7 +48,7 @@ describe Prometheus::ProxyService do
allow(environment).to receive(:prometheus_adapter).and_return(nil)
end
- it 'should return error' do
+ it 'returns error' do
expect(subject.execute).to eq(
status: :error,
message: 'No prometheus server found',
@@ -63,7 +63,7 @@ describe Prometheus::ProxyService do
allow(prometheus_adapter).to receive(:can_query?).and_return(false)
end
- it 'should return error' do
+ it 'returns error' do
expect(subject.execute).to eq(
status: :error,
message: 'No prometheus server found',