diff options
author | Sean McGivern <sean@mcgivern.me.uk> | 2018-07-26 12:46:55 +0300 |
---|---|---|
committer | Sean McGivern <sean@mcgivern.me.uk> | 2018-07-26 12:46:55 +0300 |
commit | 33aa3ca8e01928d53515dccf55d051518260a900 (patch) | |
tree | 0e2aad413f3ed06d747b174222f5cc866e909287 /app/models/concerns | |
parent | ffbfd18ce2fabb886121f4e53f714f0ad9b44121 (diff) | |
parent | fab7dacc2614142dcc7d57a7199ea0db4f05f38e (diff) |
Merge branch 'ce-5158-metrics-alerting' into 'master'
Backport 5158-metrics-alerting to CE
See merge request gitlab-org/gitlab-ce!20148
Diffstat (limited to 'app/models/concerns')
-rw-r--r-- | app/models/concerns/prometheus_adapter.rb | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/app/models/concerns/prometheus_adapter.rb b/app/models/concerns/prometheus_adapter.rb index 18cbbd871a1..9c36f633395 100644 --- a/app/models/concerns/prometheus_adapter.rb +++ b/app/models/concerns/prometheus_adapter.rb @@ -24,11 +24,10 @@ module PrometheusAdapter def query(query_name, *args) return unless can_query? - query_class = Gitlab::Prometheus::Queries.const_get("#{query_name.to_s.classify}Query") + query_class = query_klass_for(query_name) + query_args = build_query_args(*args) - args.map!(&:id) - - with_reactive_cache(query_class.name, *args, &query_class.method(:transform_reactive_result)) + with_reactive_cache(query_class.name, *query_args, &query_class.method(:transform_reactive_result)) end # Cache metrics for specific environment @@ -44,5 +43,13 @@ module PrometheusAdapter rescue Gitlab::PrometheusClient::Error => err { success: false, result: err.message } end + + def query_klass_for(query_name) + Gitlab::Prometheus::Queries.const_get("#{query_name.to_s.classify}Query") + end + + def build_query_args(*args) + args.map(&:id) + end end end |