diff options
Diffstat (limited to 'lib/gitlab/metrics/rails_slis.rb')
-rw-r--r-- | lib/gitlab/metrics/rails_slis.rb | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/lib/gitlab/metrics/rails_slis.rb b/lib/gitlab/metrics/rails_slis.rb index 69e0c1e9fde..8c40c0ad441 100644 --- a/lib/gitlab/metrics/rails_slis.rb +++ b/lib/gitlab/metrics/rails_slis.rb @@ -4,23 +4,32 @@ module Gitlab module Metrics module RailsSlis class << self - def request_apdex_counters_enabled? - Feature.enabled?(:request_apdex_counters) - end - def initialize_request_slis_if_needed! - return unless request_apdex_counters_enabled? - return if Gitlab::Metrics::Sli.initialized?(:rails_request_apdex) - - Gitlab::Metrics::Sli.initialize_sli(:rails_request_apdex, possible_request_labels) + Gitlab::Metrics::Sli.initialize_sli(:rails_request_apdex, possible_request_labels) unless Gitlab::Metrics::Sli.initialized?(:rails_request_apdex) + Gitlab::Metrics::Sli.initialize_sli(:graphql_query_apdex, possible_graphql_query_labels) unless Gitlab::Metrics::Sli.initialized?(:graphql_query_apdex) end def request_apdex Gitlab::Metrics::Sli[:rails_request_apdex] end + def graphql_query_apdex + Gitlab::Metrics::Sli[:graphql_query_apdex] + end + private + def possible_graphql_query_labels + ::Gitlab::Graphql::KnownOperations.default.operations.map do |op| + { + endpoint_id: op.to_caller_id, + # We'll be able to correlate feature_category with https://gitlab.com/gitlab-org/gitlab/-/issues/328535 + feature_category: nil, + query_urgency: op.query_urgency.name + } + end + end + def possible_request_labels possible_controller_labels + possible_api_labels end @@ -30,10 +39,12 @@ module Gitlab endpoint_id = API::Base.endpoint_id_for_route(route) route_class = route.app.options[:for] feature_category = route_class.feature_category_for_app(route.app) + request_urgency = route_class.urgency_for_app(route.app) { endpoint_id: endpoint_id, - feature_category: feature_category + feature_category: feature_category, + request_urgency: request_urgency.name } end end @@ -42,7 +53,8 @@ module Gitlab Gitlab::RequestEndpoints.all_controller_actions.map do |controller, action| { endpoint_id: controller.endpoint_id_for_action(action), - feature_category: controller.feature_category_for_action(action) + feature_category: controller.feature_category_for_action(action), + request_urgency: controller.urgency_for_action(action).name } end end |